Xpath或For-each用于根据条件获取特定节点值

时间:2016-01-27 20:47:48

标签: xslt xpath

我有以下xml:

<Endorsements>
  <Endorsement>
    <VehicleNumber>1</VehicleNumber>
      <Vehicle>
        <Year>2014</Year>
        <Make>Honda</Make>
        <Model>CAB</Model>
      </Vehicle>
   </Endorsement>                
   <Endorsement>                 
      <VehicleNumber>0</VehicleNumber>
      <Vehicle>
        <Year>2014</Year>
        <Make>Activa</Make>
        <Model>SUV</Model>
      </Vehicle>
    </Endorsement>
    <Endorsement>
      <VehicleNumber>0</VehicleNumber>
      <Vehicle>
        <Year>2014</Year>               
        <Make>Suzuki</Make>
        <Model>Sedan</Model>
      </Vehicle>
   </Endorsement>
 </Endorsements>

我需要获取年份的值,其中Make是&#34; Suzuki&#34;并且其VehicleNumber为1.循环<xsl:for-each>或使用contains[text (),''] xpath是否合适?

我尝试过XPath,但它无法正常工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

//Endorsement[VehicleNumber=1]/Vehicle[Make="Suzuki"]/Year

在此测试: http://chris.photobooks.com/xml/default.htm

基本XPath参考: http://www.w3schools.com/xsl/xpath_syntax.asp