使用 XSLT 提取具有特定名称的所有 XML 标签
Pull out all XML tags with a specific name using XSLT
我对 XSLT 还很陌生。
我有一个 XML 看起来像
<ONE>
<FOO>Foo Value 01</FOO>
<TWO>
<FOO>Foo Value 02</FOO>
<BAR>Bar</BAR>
<THREE>
<FOO>Foo Value 03</FOO>
<BAZ>Baz</BAZ>
</THREE>
</TWO>
<FOO>Foo Value 04</FOO>
</ONE>
我正在尝试从中获取 FOO 标签:
<FOOS>
<FOO>Foo Value 01</FOO>
<FOO>Foo Value 02</FOO>
<FOO>Foo Value 03</FOO>
<FOO>Foo Value 04</FOO>
</FOOS>
他们可以在任何级别。
我很难遍历我的 xml 来访问所有这些。
嗯,//FOO
select所有 FOO
元素和 <xsl:copy-of select="//FOO"/>
将它们复制到输出,因此您只需要
<xsl:template match="/">
<xsl:copy-of select="//FOO"/>
</xsl:template>
如果您想使用 XSLT,但您仍在努力使用 XPath 来 select 某些节点,那么我相信完成任何 XPath 教程或介绍都会有所帮助。
我对 XSLT 还很陌生。 我有一个 XML 看起来像
<ONE>
<FOO>Foo Value 01</FOO>
<TWO>
<FOO>Foo Value 02</FOO>
<BAR>Bar</BAR>
<THREE>
<FOO>Foo Value 03</FOO>
<BAZ>Baz</BAZ>
</THREE>
</TWO>
<FOO>Foo Value 04</FOO>
</ONE>
我正在尝试从中获取 FOO 标签:
<FOOS>
<FOO>Foo Value 01</FOO>
<FOO>Foo Value 02</FOO>
<FOO>Foo Value 03</FOO>
<FOO>Foo Value 04</FOO>
</FOOS>
他们可以在任何级别。 我很难遍历我的 xml 来访问所有这些。
嗯,//FOO
select所有 FOO
元素和 <xsl:copy-of select="//FOO"/>
将它们复制到输出,因此您只需要
<xsl:template match="/">
<xsl:copy-of select="//FOO"/>
</xsl:template>
如果您想使用 XSLT,但您仍在努力使用 XPath 来 select 某些节点,那么我相信完成任何 XPath 教程或介绍都会有所帮助。