2012-06-12 73 views
0

如何使用XSLT解析XML文檔?可能是我錯了,是否可以使用XSLT解析XML文檔?使用XSLT解析XML?

這裏是XML文檔:

<?xml version="1.0" encoding="utf-8" ?> 
<cart> 
    <item id="1"> 
    <name>Tyres</name> 
    <cost>20</cost> 
    </item> 
    <item id="2"> 
    <name>Front Glass</name> 
    <cost>30</cost> 
    </item> 
    <item id="3"> 
    <name>Vanity Mirror</name> 
    <cost>10</cost> 
    </item> 
    <item id="4"> 
    <name>Brake Pads</name> 
    <cost>50</cost> 
    </item> 
    <item id="5"> 
    <name>Brake Oil</name> 
    <cost>40</cost> 
    </item> 
</cart> 

和XSLT頁:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" 
> 
    <xsl:output method="xml" indent="yes"/> 

    <xsl:template match="shopping_cart"> 
     <root> 
     <xsl:apply-templates select="cart"/> 
     </root>   
    </xsl:template> 
    <xsl:template match="cart"> 
    <cart> 
     <xsl:attribute name="name"> 
     <xsl:value-of select="name"/> 
     </xsl:attribute> 
     <xsl:attribute name="cost"> 
     <xsl:value-of select="cost"/> 
     </xsl:attribute> 

    </cart> 
    </xsl:template> 
</xsl:stylesheet> 

任何方式做到這一點?請指導,因爲我不太瞭解解析概念。

+0

你是什麼意思「使用XSLT解析XML文件」?你想達到什麼目的? – vcsjones

+0

嗯,我想使用XSLT從XML文檔中獲取特定值,然後在代碼中對其進行處理。 – unknownsatan

+0

XSLT用於將XML數據轉換爲另一個文本文件。如果你想在你的應用程序中使用數據,我會建議LINQ to XML或XmlSearilizer。 –

回答

0

如果樣式表只使用一個XML文檔,則正常的機制是使其成爲「主要輸入文檔」。根據處理器的API,通常可以以分析或不分析的形式提供源文檔;如果以非解析形式提供它(例如作爲InputStream),它將自動解析並作爲節點樹呈現給樣式表。

如果樣式表使用多個文檔,則可以使用document()函數訪問(並解析)輔助輸入文檔。