2016-09-06 68 views
0

我是Xpath的新手,我试图弄清楚如何提取D000001602的扩展属性,如下所示。XPath提取属性的一部分

<ClinDoc> 
    <ComponentOf> 
    <encompassingEncounter> 
     <id root="2.16.840.1.113883.3.52.3" extension="D000001602"/> 
     <effectiveTime> 
      <low value="20140620135800"/> 
      <high value="20140701140756"/> 
     </effectiveTime> 
    </encompassingEncounter> 
    </componentOf> 
</ClinDoc> 

我使用下面的代码网上提取,但我似乎无法得到它的工作:

/clindoc/componentof/encompassingEncounter/id[@root=2.16.840.1.113883.3 .529.3]/@扩展

//id[@root=2.16.840.1.113883.3.529.3]/@extension

谢谢了!

+2

***这是怎么回事***首先,这个问题是一样的[**我一个由不同的用户昨天回答** ](http://stackoverflow.com/questions/39335844/how-get-attribute-content-by-another-attribute-value-with-xpath)。你是否和@Usm在同一个班级,或者你是同一个人,还是什么?其次,这个问题首先引用了一个[** image **](http://i.stack.imgur.com/oMTnE.jpg),当我问你是否包含文本时,你批评地删除了一个默认的命名空间,所以没有在任何人回答这里,你可能不会得到一个有效的答案。 – kjhughes

+0

首先,我不是你昨天提出同样问题的同一个人。我不在课堂上,我只是想发现如何从我们公司正在接收的xml文件中提取信息,以便能够在我们的系统之一中正确上载它。另外,我尝试上传一张图片,但是当我检查它时,它没有显示出这就是我决定自己放置代码的原因。现在是我添加了@Usm发布的相同图像的代码? –

+0

我不会浪费时间,因为我在发布我的问题之前尝试搜索某些内容,并且@ Usm帖子未出现在我的搜索结果中。 JLRishe很友善地回答我的问题。正如你所知,在你不知道的情况下,有很多不同类型的ClinicalDocument。 Usm问题和我的是相似但不重复。在电脑世界里,类似于重复不一样! –

回答

0

您试图匹配root与字符串值2.16.840.1.113883.3.52.3,这意味着您需要将其表示为XPath中的字符串文字。

此外,节点名称是区分大小写?

/ClinDoc/Componentof/encompassingEncounter/id[@root="2.16.840.1.113883.3.529.3"]/@extension 
+1

你可能不想花太多时间在这个。我会尽快解释这个问题的评论... – kjhughes