如何在 C# 中读取 XML 文档 [重复]

Posted

技术标签:

【中文标题】如何在 C# 中读取 XML 文档 [重复]【英文标题】:How to read XML document in C# [duplicate] 【发布时间】:2017-11-03 05:51:39 【问题描述】:

首先,对不起,如果这个问题已经回答了,但我还没有找到它。

我有一个如下所示的 XML 文件:

<data success="1" status="200">
    <id>SbBGk</id>
    <title/>
    <description/>
    <datetime>1341533193</datetime>
    <type>image/jpeg</type>
    <animated>false</animated>
    <width>2559</width>
    <height>1439</height>
    <size>521916</size>
    <views>1</views>
    <bandwidth>521916</bandwidth>
    <deletehash>eYZd3NNJHsbreD1</deletehash>
    <section/>
    <link>http://i.imgur.com/SbBGk.jpg</link>
</data>

我想将id 作为一个字符串。有什么想法吗?

注意:XML 文件是一个网络响应,我使用以下方法检索:

XmlDocument doc = new XmlDocument();
byte[] response = w.UploadValues("https://api.imgur.com/3/upload.xml", values);
string xml = Encoding.UTF8.GetString(response);
doc.LoadXml(xml);

【问题讨论】:

查看 Xpath 参见:msdn.microsoft.com/en-us/library/d271ytdx(v=vs.110).aspx & msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx 抛弃XmlDocument。它很旧,已被XDocument 取代。一旦你有一个有效的XDocumentvar id=(string)doc.Root.Element("id"); 就可以了。 考虑使用XDocument.Load() 更改为XDocumentvar id=(string)doc.Root.Element("id"); 工作!谢谢 很好的解释 XDocument 优于 XMLDocument ***.com/questions/1542073/xdocument-or-xmldocument 【参考方案1】:

不要使用 XMLDocument,而是使用 XDocument。

XDocument doc = new XDocument();
doc.Load(xml);
string id = doc.Root.Element("id").Value;

【讨论】:

以上是关于如何在 C# 中读取 XML 文档 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 通过读取另一个 XML 文件来创建 XML 文档?

使用C#进行XML文档读取

如何在c#中将XML转换为自定义对象[重复]

用C#读取XML文件,怎么可以循环读取

如何在 C# 中读取此 XML?

c#中如何按条件读出xml文件内容