使用xmlstarlet提取和转储元素
发布时间:2020-12-16 07:54:04 所属栏目:百科 来源:网络整理
导读:我正在寻找一种方法来提取和打印一个元素从我的xml使用xmlstarlet;例如,如果我的xml是 ?xml version="1.0" encoding="ISO-8859-1"?bookstorebook title lang="eng"Harry Potter/title price29.99/price/bookbook title lang="eng"Learning XML/title price39
我正在寻找一种方法来提取和打印一个元素从我的xml使用xmlstarlet;例如,如果我的xml是
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore> 我想打印出价格= 29.99的书元素: <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> 我理解xpath查询来选择这样一个元素(/bookstore/book[price=29.99])但是 感谢预期.
使用“-c”(复制)选项,应该达到你以后的目的:
xmlstarlet sel -t -c "/bookstore/book[price=29.99]" books.xml <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> 您可以通过在“sel”之后添加全局“-C”开关来观看xmlstarlet内部生成的XSLT.这显示了copy选项如何生成一个xslt的构造: ... <xsl:template name="t1"> <xsl:copy-of select="/bookstore/book[price=29.99]"/> </xsl:template> ... 这将导致命名空间节点,子节点和属性节点被包括在内. XSLT规格(see w3schools summary). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |