Just wrote a web service and try to return columns of a sharepoint list as xml. But items are not properly nesting
System.Xml.XmlNode node = doc.AppendChild(doc.CreateElement("Inventories"));
foreach (ListItem item in items)
{
node = node.AppendChild(doc.CreateElement("Inventory"));
node.AppendChild(doc.CreateElement("ID")).InnerText = Convert.ToString(item["ID"]);
node.AppendChild(doc.CreateElement("Name")).InnerText = Convert.ToString(item["Server_Name"]) + " >> " + Convert.ToString(item["Computer_Name"]) + " >> " + Convert.ToString(item["IP"]);
}
}
return doc.InnerXml;
This one returns
<inventories>
<inventory>
<ID></ID>
<Name></Name>
<ID></ID>
<Name></Name>
<ID></ID>
<Name></Name>
</inventory></inventory></inventory>
</inventories>
So the inventory items inside foreach loop act a bit of weirdo, I just want it to be a parent for each ID and Name attribute but did not figure out what am I doing wrong.
Has to be something like that
<inventories>
<inventory>
<ID></ID>
<Name></Name>
</inventory>
<inventory>
<ID></ID>
<Name></Name>
</inventory>
<inventory>
<ID></ID>
<Name></Name>
</inventory>
</inventories>
All helps will be appreaciated and thanks all of you for reading
You are reusing the name “node” try: