c# - 获取xml节点值

标签 c# xpath xml-parsing xml-serialization linq-to-xml

下面的 xml 有一个属性 Itemcount( <rs:data ItemCount="4"> ) 。我如何通过代码获得它的值(value)。 xmldocument.childnodes.count 没有给我正确的计数

我需要获取子节点的数量,即 Itemcount

    <listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns="http://schemas.microsoft.com/sharepoint/soap/">

<rs:data ItemCount="4">

   <z:row ows_Attachments="0" ows_UniqueId="1;#{DF5B35E4-D3EB-4E16-9D6F-23F368CDE05C}"/>


 <z:row ows_Attachments="0" ows_UniqueId="2;#{83803774-A2F6-4265-AD73-E8600ECFCE04}"/>


<z:row ows_Attachments="0"  ows_UniqueId="3;#{8B1C0737-EAA2-4313-BEC3-A5A907341856}"/>

 <z:row ows_Attachments="0"  ows_UniqueId="5;#{65CA20E9-E427-412C-A98B-367DDEBE8911}"/>

</rs:data>
</listitems>

最佳答案

//xmlStr contains your xml as a string
var xml = XDocument.Parse(xmlStr);

XNamespace rs = "urn:schemas-microsoft-com:rowset";

string[] result = xml.Descendants(rs + "data")
                     .Select(node => node.Attribute("ItemCount").Value)
                     .ToArray();

Console.WriteLine(string.Join(Environment.NewLine, result));

打印:

4

关于c# - 获取xml节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684517/

相关文章:

c# - Entity Framework 仅适用于Web应用程序吗?

css - 当 id 包含使用 Nokogiri 的特殊字符时,如何抓取 URL/文本

php - 在 PHP 中检索相对 DOM 节点

xpath 在同级集合中导航文档

c# - 来自 C# : "DLL initialization routine failed" on Windows 10 的 gcc DLL

c# - 检查字符串中的特殊字符 (/*-+_@&$#%)?

c# - 从 C# 中的字符串中去除字节顺序标记

android - 在 Android 中解析 SD 卡

python - lxml xml 解析,在 xml 标签内包含 html 标签

xml - 如何构建 XML 解析器?