使用 XSLT 将 XML 属性值存储到变量中
Storing XML attribute value into a variable by using XSLT
我是 XSLT 的新手,正在学习如何将属性存储到变量中。
我有一个场景,我的输入 xml 文件是:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book title="ABC" id="1">
<infos>
<info key="pages">200</info>
<info key="price">.50</info>
</infos>
</book>
<book title="XYZ" id="1">
<infos>
<info key="pages">300</info>
<info key="price">.00</info>
</infos>
</book>
</books>
我想知道如何存储页数为 200 的书的标题,即我需要将 "ABC" 存储在变量中。
我搜索了很多地方,但我只能找到如何使用以下代码存储最后一个属性值:
<xsl:variable name="pages" select="/*/info[.='200']/@key"/>
我可以在哪里获得 $key 值 "pages",但我想要标题的值
是否可以使用类似的方法获得标题的价值,如果是,那么我哪里错了,在此先感谢
how to store the title of a book whose pages is 200
尝试:
<xsl:variable name="title" select="/books/book[infos/info[@key='pages']=200]/@title" />
我是 XSLT 的新手,正在学习如何将属性存储到变量中。
我有一个场景,我的输入 xml 文件是:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book title="ABC" id="1">
<infos>
<info key="pages">200</info>
<info key="price">.50</info>
</infos>
</book>
<book title="XYZ" id="1">
<infos>
<info key="pages">300</info>
<info key="price">.00</info>
</infos>
</book>
</books>
我想知道如何存储页数为 200 的书的标题,即我需要将 "ABC" 存储在变量中。
我搜索了很多地方,但我只能找到如何使用以下代码存储最后一个属性值:
<xsl:variable name="pages" select="/*/info[.='200']/@key"/>
我可以在哪里获得 $key 值 "pages",但我想要标题的值
是否可以使用类似的方法获得标题的价值,如果是,那么我哪里错了,在此先感谢
how to store the title of a book whose pages is 200
尝试:
<xsl:variable name="title" select="/books/book[infos/info[@key='pages']=200]/@title" />