2012-06-12 76 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()函数访问(并解析)辅助输入文档。