我得到了一个 SML 文件,设计师(不在我的公司,所以我无法控制)创建了一些我需要使用的数据;但他们设置了枚举标签,所以我很难创建一个循环来读取数据。
他们的代码看起来像
<Root>
<Subjects>
<...more XML Data>
<Data>
<...other XML Data>
<Demographic_Information>
<Age1>33</Age1>
<Age2>66</Age2>
<Age3 />
<Age4 />
<Age5 />
<Age6 />
<Age7 />
<Age8 />
<Age9 />
<Age10 />
<Gender1>M</Gender1>
<Gender2>F</Gender2>
<Gender3 />
<Gender4 />
<Gender5 />
<Gender6 />
<Gender7 />
<Gender8 />
<Gender9 />
<Gender10 />
<Race1>W</Race1>
<Race2>H</Race2>
<Race3 />
<Race4 />
<Race5 />
<Race6 />
<Race7 />
<Race8 />
<Race9 />
<Race10 />
</Demographic_Information>
</...other XML Data>
</Data>
</...more XML Data>
</Subjects>
</Root>
我只需要遍历它,并确保 Age1、Gender1 和 Race1 进入我的数据,例如
<Person subject="1">
<Age>33</Age>
<Gender>M</Gender>
<Race>W</Race>
</Person>
<Person subject="2">
<Age>66</Age>
<Gender>F</Gender>
<Race>A</Race>
</Person>
这是较大集合中的数据子集,但如果可能,我需要将其转换为这种格式。我确信它可以完成,我只是不知道如何去做。
我的 XSLT 是 Microsoft Visual Studio 2008 中的 1.0 版。我从
<xsl:template match="/Root/Subjects">
***已修改以提供我的问题的更好示例。