[英]How to split a comma-separated value attribute into two different values attributes in XSLT 1.0
[英]Remove attributes from xml using xslt 1.0 and make it values comma separated
這是我從臨時表生成的xml
SELECT DISTINCT *
FROM #tblCustomer Lines
ORDER BY CustomerNumber
FOR XML PATH('CustomerDetails')
生成的xml:
<CustomerDetails>
<CustomerNumber>1</CustomerNumber>
<Status>Active</Status>
<CustomerType>Individual</CustomerType>
<Title>Mr</Title>
</CustomerDetails>
<CustomerDetails>
<CustomerNumber>2</CustomerNumber>
<Status>Active</Status>
<CustomerType>Individual</CustomerType>
<Title>Miss</Title>
</CustomerDetails>
我想使用xslt刪除所有元素,並使其以逗號分隔。
預期產量:
<Lines>
<Line Number="1" Data="1,Active,Individual,Mr" />
<LineNumData="2" Data="2,Active,Individual,Mr" />
</Lines>
任何幫助將不勝感激。 TIA
該解決方案與您提到的輸出有所不同,但是我想您可以自己從此處繼續進行,以使其滿足您的確切需求。 要獲得以下輸出,可以使用這兩個模板
<xsl:template match="/">
<Lines>
<xsl:apply-templates select="node()|@*" />
</Lines>
</xsl:template>
<xsl:template match="CustomerDetails">
<Line>
<xsl:attribute name="number"><xsl:number /></xsl:attribute>
<xsl:value-of select="concat(CustomerNumber,',',Status,',',CustomerType,',',Title)" />
</Line>
</xsl:template>
number
屬性通過<xsl:number />
在XML文件中使用CustomerDetails
的索引。 因此它不同於CustomerNumber
。
輸出:
<Lines>
<Line number="1">1,Active,Individual,Mr</Line>
<Line number="2">2,Active,Individual,Miss</Line>
</Lines>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.