如何使用 c# 从标签之间的 XML 检索数据?
Posted
技术标签:
【中文标题】如何使用 c# 从标签之间的 XML 检索数据?【英文标题】:How to retrieve data from XML between tags using c#? 【发布时间】:2019-12-06 00:52:44 【问题描述】:我正在对 Web 服务进行 HTTP 调用,该服务以 XML 格式给出响应。我现在面临的问题是如何读取元素之间的那些数据。
下面是我的代码。
XmlDocument document = new XmlDocument();
document.Load("http://thecatapi.com/api/categories/list");
XmlNodeList categoryNodes = document.SelectNodes("//response/data/categories");
foreach (XmlNode categoryNode in categoryNodes)
XmlNode category = categoryNode.SelectSingleNode("category");
var id =categoryNode.Attributes["id"].InnerXml;
string name = categoryNode.Attributes["name"].InnerText;
document.Save("test-doc.xml");
这是 XML 的结构
<response>
<data>
<categories>
<category>
<id>5</id>
<name>boxes</name>
</category>
<category>
<id>8</id>
<name>boys</name>
</category>
</categories>
</data>
</response>
【问题讨论】:
你能在你的问题中添加一点xml结构吗? @Bosco 这是结构。我忘了这个。 【参考方案1】:尝试使用XElement
try
XElement booksFromFile = XElement.Load("http://thecatapi.com/api/categories/list");
var category = booksFromFile.Element("data").Element("categories").Elements("category");
foreach (var element in category)
var id = element.Element("id").Value;
var name = element.Element("name").Value;
booksFromFile.Save("test-doc.xml");
catch (Exception e)
//handle and log the error here
【讨论】:
以上是关于如何使用 c# 从标签之间的 XML 检索数据?的主要内容,如果未能解决你的问题,请参考以下文章