在C#中解析XML文档

时间:2009-08-06 12:24:02

标签: c# xml

重复:这是Best practices to parse xml files with C#?和其他许多内容的重复(请参阅https://stackoverflow.com/search?q=c%23+parse+xml)。请关闭它,不要回答。


如何从C#中自下而上解析XML文档?

例如:

<Employee>
   <Name> Test </name>
   <ID> 123 </ID>
<Employee>
<Company>
    <Name>ABC</company>
    <Email>test@ABC.com</Email>
 </company>

像这些有很多节点..我需要从下往上开始解析,如...解析<company>,然后依此类推......如何在C#中解决这个问题?

1 个答案:

答案 0 :(得分:61)

试试这个:

XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Path\To\Xml\File.xml");

或者,如果您在字符串中使用XML,请使用LoadXml方法。

加载后,您可以使用SelectNodesSelectSingleNode查询特定值,例如:

XmlNode node = doc.SelectSingleNode("//Company/Email/text()");
// node.Value contains "test@ABC.com"

最后,请注意您的XML无效,因为它不包含单个根节点。必须是这样的:

<Data>
    <Employee>
        <Name>Test</Name>
        <ID>123</ID>
    </Employee>
    <Company>
        <Name>ABC</Name>
        <Email>test@ABC.com</Email>
    </Company>
</Data>