【发布时间】:2023-03-05 13:00:02
【问题描述】:
我能够从这个列表中获得我的第一个元素
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetITARListResponse xmlns="http://tempuri.org/">
<GetITARListResult>
<ClassificationCode>
<code>dsd</code>
<description>toto</description>
<legislation>d/legislation>
</ClassificationCode>
<ClassificationCode>
<code>dsd</code>
<description>tata</description>
<legislation>dsd</legislation>
</ClassificationCode>
<ClassificationCode>
<code>code2</code>
<description>dsds</description>
<legislation>dsd</legislation>
</ClassificationCode>
通过写作
XDocument result = new XDocument();
result = ExportControl.ResultXML;
var codes = HttpContext.Current.Server.MapPath("~/XML_Templates/codes.xml");
dynamic root = new ExpandoObject();
XmlToDynamic.Parse(root, xDoc.Elements().First());
var result = xDoc.Descendants(XNamespace.Get("http://tempuri.org/") + "code").First();
获得第一个代码“dsd”。但是,如果我想要一个 foreach 并获取所有代码怎么办?或者如果我想要某个代码怎么办?例如
var result = xDoc.Descendants(XNamespace.Get("http://tempuri.org/") + "code")[2]
【问题讨论】:
-
使用
XmlReadermsdn.microsoft.com/en-us/library/… -
您的代码片段毫无意义,xDoc 不知从何而来。并使用 XDocument 或 Dynamic,你不需要两者。
标签: c# xml xml-parsing linq-to-xml