我有一個XML文件和XSLT文件,如下如何使用XSLT
Check.xml
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
Check.xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:for-each select="/">
<xsl:choose>
<xsl:when test="country='USA'">
<xsl:copy-of select="CHK"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="*"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
,以取代在XML文件中的文本。當我嘗試轉換它我得到以下錯誤
Error:XSLTProcessor::transformToXml() [<a href='xsltprocessor.transformtoxml'>xsltprocessor.transformtoxml</a>]: No stylesheet associated to this object
Iam試圖在這裏執行的是檢查值是否爲「USA」,如果是,則用「CHK」字符串替換USA。
Iam沒有得到我要去的地方,或者Iam沒有使用正確的語法。 我是XSLT的新手,剛開始使用它。任何幫助是極大的讚賞!!! 我期待的輸出是
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>**CHK**</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
XML中沒有''元素。請更新您的問題,並舉例說明您希望輸出XML的樣子。 –
ABach