c# - 在 C# 中解析 XML 文档

标签 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# 中解决这个问题?

最佳答案

试试这个:

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>

关于c# - 在 C# 中解析 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238528/

相关文章:

c# - OpenGL 3.3+ - 着色器、属性、制服、输入/输出变量 - 如何、什么、何时、为什么?

c# - SignalR Core 无法从 JS 客户端连接

c# - 在 RavenDB 中指定集合名称

c# - Windows 7 中的未授权访问异常

c# - 如何在一个工作单元中处理数据库生成的 id 值

html - 如何在 Perl 中将 HTML 转换为 RTF?

java - XML 将节点值解析为字符串

python - 如何使用 Python 将此 XML 字符串转换为二进制形式?

xml - 使用 XSL 合并后如何处理来自多个 XML 文件的所有数据

xml - XSLT - 如何选择顶部 a 到顶部 b