【发布时间】:2013-02-19 11:53:58
【问题描述】:
我有这种xml
<?xml version="1.0"?>
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Rows>
<Row>
<Id>1</Id>
<XColumns>
<Name>Country</Name>
<Value>Austria</Value>
</XColumns>
<XColumns>
<Name>Region</Name>
<Value>Europe</Value>
</XColumns>
<XColumns>
<Name>Sector</Name>
<Value>Information Technology</Value>
</XColumns>
<YColumns>
<Name>Dataset 1</Name>
<Value>14</Value>
</YColumns>
<YColumns>
<Name>Dataset 2</Name>
<Value>19</Value>
</YColumns>
</Row>
<Row>
<Id>2</Id>
<XColumns>
<Name>Country</Name>
<Value>Bahamas</Value>
</XColumns>
<XColumns>
<Name>Region</Name>
<Value>North American</Value>
</XColumns>
<XColumns>
<Name>Sector</Name>
<Value>Information Technology</Value>
</XColumns>
<YColumns>
<Name>Dataset 1</Name>
<Value>1</Value>
</YColumns>
<YColumns>
<Name>Dataset 2</Name>
<Value>15</Value>
</YColumns>
</Row>
我需要使用 XSLT 将其转换为以下 XML
<?xml version="1.0"?>
<data>
<categories>
<category label="Austria"/>
<category label="Bahamas"/>
</categories>
<dataset seriesName="DataSet 1">
<set value="14"/>
<set value="1"/>
</dataset>
<dataset seriesName="DataSet 2">
<set value="19"/>
<set value="15"/>
</dataset>
还有一件事,我有一个名为“category”的变量,如果我通过 category=Country 那么它将生成 类别标签,其中标签具有奥地利、巴哈马等国家/地区的价值。如果我通过类别 = 地区,那么它将生成类别标签,其中标签具有欧洲、北美等地区的价值。所以根据类别值我必须生成类别标签。
【问题讨论】:
-
如果您有兴趣,我已经在我的答案中添加了一种更有效的方法