有人知道我在这里缺少什么吗?我有一个导出,例如,由代码元素分解。我试图显示属于SiteDataSet的每个网站元素。有时候只有1个网站,有时候会有3个或更多。
这是xml
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<export>
<run-date>03/20/2017
<code>items
<type>Job
<number>9999999990-01</number>
<SiteDataSet>
<Site>Accounting</Site>
<Site>Energy</Site>
</SiteDataSet>
<content><![CDATA[]]></content>
</type>
</code>
<code>items2
<type>Job
<number>9999999910-01</number>
<SiteDataSet>
<Site>Finance</Site>
<Site>Energy</Site>
<Site>Driving</Site>
</SiteDataSet>
<content><![CDATA[]]></content>
</type>
</code>
</run-date>
</export>
这是xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/*/*">
<xsl:element name="Posting">
<xsl:for-each select="code/type">
<xsl:element name="Job">
<xsl:element name="Number"><xsl:value-of select="translate(./*[local-name()='number'],'-','')"/></xsl:element>
<xsl:element name="Sites"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
这是输出xml
<?xml version="1.0" encoding="utf-8"?>
<Posting>
<Job>
<Number>999999999001</Number>
<Sites/>
</Job>
<Job>
<Number>999999991001</Number>
<Sites/>
</Job>
</Posting>
答案 0 :(得分:0)
我得到了它,所以可以关闭。
<xsl:element name="Sites">
<xsl:for-each select="SiteDataSet/Site">
<Site><xsl:value-of select="."/></Site>
</xsl:for-each>
</xsl:element>