我遇到的唯一答案是如何列出節點和子節點本身的值。我想知道的是如何列印節點標簽本身內的所有值。
XML(目錄中可以有更多書籍)
<data>
<info>
<catalog Id="1111" Locale="en_GB">
<books>
<book id="01" Name="Title 1" Author="John Doe"></book>
<book id="02" Name="Title 2" Author="Jane Doe"></book>
</books>
我目前擁有的:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="data/info/catalog">
<xsl:value-of select="@Id" />
<xsl:value-of select="/books/book/@Name"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
具體來說,我希望輸出為:
Catalog Id: 1111
Attributes:
id: 01
Name: Title 1
Author: John Doe
id: 02
Name: Title 2
Author: Jane Doe
這樣做的原因是因為我有幾十個值,并且更容易將它們放入節點標記本身而不是創建數百個子子子子項。
uj5u.com熱心網友回復:
您沒有發布您想要的確切 HTML 代碼。嘗試類似:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/data">
<html>
<body>
<xsl:for-each select="info/catalog">
<xsl:text>Catalog Id: </xsl:text>
<xsl:value-of select="@Id" />
<br/>
<br/>
<xsl:text>Attributes:</xsl:text>
<br/>
<xsl:for-each select="books/book">
<xsl:for-each select="@*">
<xsl:value-of select="name()" />
<xsl:text>: </xsl:text>
<xsl:value-of select="." />
<br/>
</xsl:for-each>
<br/>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/508601.html