嗨有這個 XML 例如:
<Message>
<Ship>
<ShipSummary>
<ComName>XPTO 123</ComName>
<FacName>6</FacName>
</ShipSummary>
</Ship>
</Message>
</tXML>
例如,我需要提取標題“ComName”。
我嘗試使用以下代碼:
<!-- https://stackoverflow.com/a/10112579/246801 -->
<xsl:template match="text()" mode="header">
<xsl:for-each select="ancestor::*">
<xsl:choose>
<!-- avoid beginning slash (at root) -->
<xsl:when test="position() = 1">
<xsl:value-of select="local-name()" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('/',local-name())" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:value-of select="$delim"/>
<!-- <xsl:apply-templates select="node()" /> -->
</xsl:template>
結果是:| Message/Ship/ShipSummary/ComName | Message/Ship/ShipSummary/FacName | | -------- | -------------- | | XPTO 123 | 6 |
我需要這個;|通訊名 | 姓名 | | -------- | -------------- | | XPTO 123 | 6 |
任何想法?
uj5u.com熱心網友回復:
AFAICT,您只需要做:
<xsl:template match="text()" mode="header">
<xsl:value-of select="local-name(..)" />
<xsl:value-of select="$delim"/>
</xsl:template>
未經測驗,因為沒有提供測驗代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428827.html
