0

我找不到一个简单的方法来做我所要求的。我有一个对象:

public class Item
{
    public string Name { get; set; }
}

我想:

1)创建xml文档:

<?xml version="1.0" encoding="utf-8"?>
<Items>
  <Item Name="Item1"/>
  <Item Name="Item2"/>
</Items>

2)读取xml文档:

for each NodeT node in MyXMLDocument
{
    Item i = new Item(node);
}

3)管理xml文档,例如删除Item1并添加Item3(或更改属性值)

<?xml version="1.0" encoding="utf-8"?>
<Items>
  <Item Name="Item2"/>
  <Item Name="Item3"/>
</Items>

我怎样才能尽可能简单地做到这一点?谢谢。

4

2 回答 2

0

使用 Linq 转 XML:

MSDN - Linq 到 XML

LINQ 转 XML

于 2012-05-24T19:19:24.920 回答
0

在我看来,XML 序列化将是最简单的方法,尽管您必须<items><ArrayOfItems>

您可以将对象序列化为字符串,然后将它们保存到文件中:

string ToXml(object instance)
{
    XmlSerializer serializer = new XmlSerializer(instance.GetType());
    StringBuilder builder = new StringBuilder();

    using (StringWriter writer = new StringWriter(builder))
    {
        serializer.Serialize(writer, instance);
        return builder.ToString();
    }
}

将它们从 XML 读回 .NET 对象只涉及调用Deserialize. 如果需要,您还可以使用属性自定义对象,允许您选择它们​​在 XML 中的显示方式。

于 2012-05-24T19:23:46.063 回答