我想在1.0和2.0中使用XSLT查看整个XML。 这个想法是一个跟随,我想从这个xml
得到值1234<root>
<data>test</data>
<root2>
<data2>testt</data2>
<data3>1234</data3>
</root2>
</root>
重点是,每次xml中的值都在不同的位置,具体取决于谁提供XML。在技术上是否可以查看特定值的所有XML元素?
谢谢!
答案 0 :(得分:0)
嗯,这可能不太优雅,但它适用于XPath 1.0:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/" >
<xsl:value-of select="//*[not(*)][boolean(number(substring(text(), 3, 6)))][translate(substring(text(), 1, 2), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZ')='ZZ'][string-length(text())=8]/text()"/>
</xsl:template >
</xsl:stylesheet>
测试数据:
<root>
<data>test</data>
<root2>
<data2>testt</data2>
<data3>XX345678</data3>
</root2>
</root>
测试输出:
<?xml version="1.0" encoding="UTF-8"?>XX345678
这里只拍摄了叶子节点,然后我们测试文本是以两个字母开头,以6位数结尾。