Xml 在给定多个条件的情况下,使用XPath返回一个属性
我正在尝试检索元素的一个(并且只有一个)匹配项Xml 在给定多个条件的情况下,使用XPath返回一个属性,xml,xpath,Xml,Xpath,我正在尝试检索元素的一个(并且只有一个)匹配项 /Document/docOf/serviceEvent/effectiveTime/@value 当 /Document/docOf/tempId/@root="1.3.5" docOf元素可以以任何顺序出现,但不能保证那些具有受欢迎的tempId的元素是xml中的第一个元素 我一直在尝试将position()函数与tempId/@root=“1.3.5”结合使用 但是发现它并没有按照我所希望的方式工作。如果我写 tempId/@root=
/Document/docOf/serviceEvent/effectiveTime/@value
当
/Document/docOf/tempId/@root="1.3.5"
docOf元素可以以任何顺序出现,但不能保证那些具有受欢迎的tempId的元素是xml中的第一个元素
我一直在尝试将position()函数与tempId/@root=“1.3.5”结合使用
但是发现它并没有按照我所希望的方式工作。如果我写
tempId/@root="1.3.5" and position()=1
我得到了正确的结果,但只有当tempId/@root=“1.3.5”元素出现在具有其他tempId的元素之前时,才会得到正确的结果。如何从具有正确tempId/@root的元素中检索effectiveTime/@值并只检索一次
<Document>
<docOf>
<tempId root="1.3.2"codeSystem="11.2.3"/>
<serviceEvent>
<code code="UXZX0A"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.5"/>
<serviceEvent classCode="ACT">
<effectiveTime value="20101122145613+0100"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.5"/>
<serviceEvent classCode="ACT">
<effectiveTime value="20101122145613+0100"/>
</serviceEvent>
</docOf>
<docOf>
<tempId root="1.3.2"/>
<serviceEvent>
<code code="UXZX0A" codeSystem="11.2.3"/>
</serviceEvent>
</docOf>
</Document>
试试:
它首先获取root=1.3.5的所有文档,然后从该集中选择第一个节点。然后从中提取
值
属性。谢谢!我想你有什么发现。我现在的问题是将其转换为StyleVision中的输入,StyleVision是我使用的图形工具:S
/Document/docOf[tempId/@root='1.3.5'][1]/serviceEvent/effectiveTime/@value