管理XML文档

时间:2012-05-24 19:09:51

标签: .net xml

我找不到一个简单的方法去做我要求的事情。 我有一个对象:

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>

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

2 个答案:

答案 0 :(得分:0)

将Linq用于XML:

MSDN - Linq to XML

LINQ to XML

答案 1 :(得分: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中的显示方式。