问题描述
||
我是Xpath的新手,正在尝试解析以XML格式保存的UML模型。
我有一些节点的形式:-
<ModelProfile:create xmi:id=\'_16_0_1_187c046a_1307545286478_527165_409\' base_Element=\'_16_0_1_187c046a_1307545286478_986851_398\'/>
<ModelProfile:get xmi:id=\'_16_0_1_187c046a_1307545286478_698482_412\' base_Element=\'_16_0_1_187c046a_1307545286478_639036_401\'/>
我有base_Element
值,并且知道节点以ѭ2begin开头,但是我需要获取ModelProfile:
字符串后的值是什么-即上述2个示例中的单词\"get\"
或\"create\"
。
如何在Xpath(在Java中)中做到这一点?
谢谢
莎拉
解决方法
假设您已经注册了“ 6”名称空间URI,则可以使用:
\"//ModelProfile:*[@base_Element=\'\" + yourBaseElementValue + \"\']\"
获取具有该特定“ 1”属性值的所有节点。
从那里开始,您可以使用返回节点的nodeName
属性。
, 您将需要通过元素在文档中的显示位置来标识它们,例如获取所有属于\“ umlModel \”元素的子元素的元素。之后,很容易提取本地名称(\“ get \”或\“ create \”位)。
\“ ModelProfile \”部分是将绑定到URI的名称空间前缀。您将需要了解名称空间的工作方式,然后才能按预期使XPath工作。 w3c学校介绍似乎很合理:http://www.w3schools.com/xml/xml_namespaces.asp