//* [ local-name()='component' and namespace-uri()='urn:hl7-org:v3' ]
使用这个路径,我可以得到一个这样的节点:</p>
<?xml version="1.0" encoding="utf-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3">
<component>
<structuredBody>
<component>
<section>
<code code="10164-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
<title>History of Present Illness</title>
<text>
</text>
</section>
</component>
<component> ...... </component>
<component> ...... </component>
</structuredBody>
</component>
</ClinicalDocument>
为了得到如下节点:
<component>
<section>
<code code="10164-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
<title>History of Present Illness</title>
<text>
</text>
</section>
</component>
我将路径更改为:
//* [ local-name()='component' and namespace-uri()='urn:hl7-org:v3' and position()=1]
但是,我怎样才能通过[code="10164-2"]
作为资格获得相同的结果呢?
编辑 2012-12-17
//:组件[1]//:组件[.//:section/:code[@code='10164-2']]
这个 xpath 运行良好,我可以得到我想要的节点。如果我使用我该怎么办
//*[local-name()='component' and namespace-uri()='urn:hl7-org:v3'])[1]
选择父<component/>
节点,然后将 [@code='10164-2'] 添加到谓词部分以获得<component/>
我想要的子节点。(我不想在路径中使用 : 以避免命名空间问题)