Reputation: 203
I have an array which its structure is:
<data>
<id></id>
<list></list>
</data>
And I want to write an array to list node
<data>
<id></id>
<list>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</list>
</data>
Then, delete an element in that array:
<data>
<id></id>
<list>
<item>1</item>
<item>3</item>
<item>4</item>
</list>
</data>
Next, modify that array:
<data>
<id></id>
<list>
<item>1</item>
<item>2</item>
<item>3</item>
</list>
</data>
How to write / read/ modify an array which inside the xml array?
Any ideas?
Upvotes: 0
Views: 3128
Reputation: 203
To read:
XDocument doc = XDocument.Load("data.xml");
var listPath = from elements in doc.Elements("data").Elements("list") select elements;
foreach (var docItem in listPath)
{
var itemVar= Convert.ToInt32(doc .Element("item").Value);
}
To write:
XDocument doc = XDocument.Load("data.xml");
var list = doc.Root.Element("list");
list.Add(new XElement("item", value));
To edit:
XDocument doc = XDocument.Load("data.xml");
var list = doc.Root.Element("list");
list.Element("item").Value = newValue;
any powerful and faster solution?
Upvotes: 2