【问题标题】:How to write/ read/ modify array to XML file?如何将数组写入/读取/修改为 XML 文件?
【发布时间】:2016-11-14 16:58:30
【问题描述】:

我有一个数组,它的结构是:

<data>
<id></id>
<list></list>
</data>

我想写一个数组来列出节点

<data>
<id></id>
<list>
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
</list>
</data>

然后,删除该数组中的一个元素:

<data>
<id></id>
<list>
    <item>1</item>
    <item>3</item>
    <item>4</item>
</list>
</data>

接下来,修改该数组:

<data>
<id></id>
<list>
    <item>1</item>
    <item>2</item>
    <item>3</item>
</list>
</data>

如何写/读/修改xml数组里面的数组?

有什么想法吗?

【问题讨论】:

  • XElement, XDocument 是你可以阅读的几个例子
  • @Damith 我将其作为文本文件阅读。先用 拆分它,然后删除 。其次,使用 split 获取 节点中的所有数据并将其转换为列表。
  • @cansik 你建议的答案与我有什么关系? var page = xdoc.Descendants("data"); if (page != null) { page.Element("list") .Add(new XElement("item", 4 )); xdoc.Save("Test.xml"); }
  • @MRfuxkYou 这是关于用 C# 编辑 xml 文件的。您没有提出具体问题,因此请先学习使用 xml 文件,然后再提出具体问题(如果有的话)。

标签: c# arrays xml


【解决方案1】:

阅读:

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);               
}

写作:

XDocument doc = XDocument.Load("data.xml");
var list = doc.Root.Element("list");
list.Add(new XElement("item", value));

编辑:

XDocument doc = XDocument.Load("data.xml");
var list = doc.Root.Element("list");
list.Element("item").Value = newValue;

任何强大和更快的解决方案?

【讨论】:

  • 嘿,有人知道如何删除列表中的所有项目吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多