XPath - 获取兄弟姐妹价值

时间:2017-05-31 06:35:55

标签: xslt xpath

对于以下xml,xpath的内容是什么:

  1. 找到包含FPPRNO的<ContactTypeCode>
  2. 返回<ContactAddress>
  3. 的同级值

    <ContactDetails> <ContactDetail> <ContactTypeCode>EMAIL</ContactTypeCode> <ContactTypeText>Email Address</ContactTypeText> <ContactAddress>hpinfo@acme.co.uk</ContactAddress> </ContactDetail> <ContactDetail> <ContactTypeCode>FPPRNO</ContactTypeCode> <ContactTypeText>Fit and Proper Person Reg No.</ContactTypeText> <ContactAddress>AGE146</ContactAddress> </ContactDetail> <ContactDetail> <ContactTypeCode>PHONE</ContactTypeCode> <ContactTypeText>Phone</ContactTypeText> <ContactAddress>084892747291</ContactAddress> </ContactDetail> </ContactDetails>

2 个答案:

答案 0 :(得分:3)

我相信不按字母顺序执行操作会更简单:

<xsl:value-of select="/ContactDetails/ContactDetail[ContactTypeCode='FPPRNO']/ContactAddress"/>

这假设您要使用绝对路径。根据您的上下文,您可以使用当前节点的相对路径,使其更短。

P.S。当明确指定路径时,最好避免使用//快捷方式。

答案 1 :(得分:1)

尝试以下表达式:

//ContactTypeCode[text()="FPPRNO"]/following-sibling::ContactAddress/text()