使用XSLT将XML属性值存储到变量中

时间:2016-04-20 21:04:54

标签: xml variables xslt attributes storage

我是XSLT的新手,我正在学习如何将属性存储到变量中。

我的输入xml文件是:

<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book title="ABC" id="1">
         <infos>
            <info key="pages">200</info>
            <info key="price">$1.50</info>
         </infos>
    </book>
    <book title="XYZ" id="1">
         <infos>
            <info key="pages">300</info>
            <info key="price">$3.00</info>
         </infos>
    </book>
</books>

我想知道如何存储一个页面为200的书的标题,即我需要&#34; ABC&#34;存储在变量中。

我搜索了很多地方,但我能找到的是如何使用此代码存储最后一个属性值:

  <xsl:variable name="pages" select="/*/info[.='200']/@key"/>

我可以将$ key值作为&#34;页面&#34;,但我想要标题值

是否有可能通过使用类似方法获得标题的价值,如果是,那么我哪里出错了,在此先感谢

1 个答案:

答案 0 :(得分:1)

  

如何存储页面为200的图书的标题

尝试:

<xsl:variable name="title" select="/books/book[infos/info[@key='pages']=200]/@title" />