1

我有以下示例 XML:

<Table>
  <Row Position="0" Name="FName" />
  <Row Position="1" Name="LName" />
  <Row Position="2" Name="Email" />
  <Row Position="3" Name="Phone" />
  <Row Position="4" Name="Address" />
</Table>

我希望能够将其读入以下输出:

Row: FName
Row: LName
Row: Email
Row: Phone
Row: Address

但是,此列表的排序应基于Position行的属性,以便可以通过简单地更改数字排序来更改输出顺序。

我想这将需要一个或两个变量来完成,但不能完全确定执行。

干杯

例子:

输入

<Table>
  <Row Position="0" Name="FName" />
  <Row Position="1" Name="LName" />
  <Row Position="4" Name="Email" />
  <Row Position="2" Name="Phone" />
  <Row Position="3" Name="Address" />
</Table>

输出

Row: FName
Row: LName
Row: Phone
Row: Address
Row: Email
4

1 回答 1

2
<xsl:template match="Table">
  <xsl:apply-templates select="Row">
    <xsl:sort select="@Position" data-type="number"/>
  </xsl:apply-templates>
</xsl:template>

<xsl:template match="Row">
  <xsl:text>Row: </xsl:text>
  <xsl:value-of select="@Name"/>
  <xsl:text>&#10;</xsl:text>
</xsl:template>
于 2012-04-27T10:36:30.680 回答