我是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
值并知道节点以ModelProfile:
开头,但我需要得到ModelProfile:
字符串后的值 - 即单词{{1}在上面的两个例子中,或"get"
。
如何在Xpath(Java中)中执行此操作?
由于
萨拉
答案 0 :(得分:0)
您需要根据它们在文档中的显示位置来识别元素,例如获取所有“umlModel”元素的子元素。之后,拔出本地名称(“获取”或“创建”位)很简单。
“ModelProfile”部分是将绑定到URI的名称空间前缀。在使XPath按预期工作之前,您需要了解命名空间的工作方式。 w3c学校介绍似乎是合理的:http://www.w3schools.com/xml/xml_namespaces.asp
答案 1 :(得分:0)
假设您有registered the ModelProfile
namespace URI,您可以使用:
"//ModelProfile:*[@base_Element='" + yourBaseElementValue + "']"
获取具有该特定base_Element
属性值的所有节点。
从那里开始,您可以使用返回节点的nodeName
属性。