如何获取XML属性的值

本文关键字:XML 属性 获取 何获取 | 更新日期: 2023-09-27 18:08:13

有一个XML文件:

<SourceMessage xmlns="test.test">
  <updated>2011</updated>
  <title type="p1"/>
  <title type="p2"/>
  <title type="p3"/>
  <entry>
  </entry>
</SourceMessage> 

如何使用LINQ获取元素,即。"p1","p2"answers"p3"?

如何获取XML属性的值

使用XDocument。加载或XDocument。解析将XML数据加载到XDocument中。然后,使用LINQ,您可以获得每个

元素,如下所示: <pre class="language-csharp"><code>XNamespace test = "test.test"; XDocument doc = XDocument.Load(file); // - or - XDocument doc = XDocument.Parse("<SourceMessage ..."); IEnumerable<string> query = from title in doc.Root.Elements(test + "title") select (string)title.Attribute("type"); foreach (string item in query) { Console.WriteLine(item); } </code></pre>输出:<p><em></em></p><pre class="language-csharp"><code>p1 p2 p3 </code></pre>
var xElement XElement.Parse(xmlString);
var result = xElement.Descendants("title")
                     .Select(e => e.Attribute("type").Value);
XDocument xml = XDocument.Parse (@"<SourceMessage xmlns="test.test">
<updated>2011</updated>
  <title type="p1"/>
  <title type="p2"/>
  <title type="p3"/>
  <entry>
  </entry>
</SourceMessage>");
foreach (var t in xml.Root.Descendants("title"))
    Console.Write(t.Attribute("type").Value);