2013-03-28 2 views
2

В xml ниже указан атрибут Itemcount (<rs:data ItemCount="4">). как я могу получить значение этого кода. xmldocument.childnodes.count не дает мне правильный подсчетполучить значение узла xml

мне нужно получить количество дочерних узлов, то есть 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> 
+0

'ChildNodes. count' даст вам количество дочерних узлов, вот почему он не работает – Sayse

ответ

1
//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 
+0

Cheers !!! Вы спасатель жизни. –

Смежные вопросы