我的XML类似于:
<?xml version='1.0' encoding='UTF-8'?>
<ClinicalDocument xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns='urn:hl7-org:v3'
xmlns:ext='urn:hl7-RU-EHR:v1'
xsi:schemaLocation='urn:hl7-org:v3'>
<author>
<time value='20160809000000+0300'/>
<assignedAuthor>
<id root='1.2.643.5.1.13.3.25.1.1.100.1.1.70' extension='1'/>
<id root='1.2.643.100.3' extension='03480134121'/>
<id nullFlavor='NI'/>
</assignedAuthor>
</author>
</ClinicalDocument>我必须让extension在id中具有root的值= 1.2.643.100.3。我必须使用XPath 2.0。我尝试过:
*[name()='ClinicalDocument']/*[name()='author']/*[name()='assignedAuthor']/*[name()='id' and @id='1.2.643.100.3']/@extension。不工作/*[name()='ClinicalDocument']/*[name()='author']/*[name()='assignedAuthor']/*[name()='id'][2]/@extension,但id的顺序可以混合。所以,我应该用id的值来检索。我需要它来通过Java的XPathExpression检索值
发布于 2016-09-07 14:30:37
正确的XPath:/*[name()='ClinicalDocument']/*[name()='author']/*[name()='assignedAuthor']/*[local-name()='id' and @root='1.2.643.100.3']/@extension
发布于 2016-09-05 18:41:21
首先,将名称空间前缀u:绑定到urn:hl7-org:v3。
然后,这个XPath
//u:id[@root='1.2.643.100.3']/@extension将根据请求返回03480134121。
如果无法绑定命名空间前缀,则可以使用此XPath,
//*[local-name() ='id' and @root='1.2.643.100.3']/@extension它还将根据请求返回03480134121。
https://stackoverflow.com/questions/39335844
复制相似问题