MRWonderFuXker
MRWonderFuXker

Reputation: 203

How to write/ read/ modify array to XML file?

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

Answers (1)

MRWonderFuXker
MRWonderFuXker

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

Related Questions