【发布时间】:2015-05-26 01:20:12
【问题描述】:
说这是我的 xml:
<History>
<University>TSU</University>
<Payload>
<Attrib Order="0">OVERSEA</Attrib>
<Attrib Order="1">GRADE2</Attrib>
<Attrib Order="2"><Person><ID>TQR344</ID></Person></Attrib>
<Attrib Order="3">3566644</Attrib>
</Payload>
</History>
我想查询 Order=2 标记内的内部 XML 并读取此人的 ID。
到目前为止我已经创建了这个:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
<xsl:template match="/History">
<xsl:apply-templates select="/History" />
</xsl:template>
<xsl:template name="Person" match="//History">
<Event>
<Uni><xsl:value-of select="University" /></Uni>
<ID><xsl:value-of select="Payload/Attrib[@Order='2']/Person/ID" disable-output-escaping="yes" /></ID>
</Event>
</xsl:template>
</xsl:stylesheet>
但正如你所见,它不起作用。
我还将内部 XML 分配给一个变量并尝试查询该变量,但它也不起作用。
是否可以通过 xsl 做到这一点?
限制:我无法更改 xml 格式。但也许我能够从 xsl 版本 1 迁移到新版本。
【问题讨论】:
标签: xslt transformation