解析XML字符串类在C#中? [重复](Parse XML string to class in

2019-07-30 05:47发布

可能重复:
如何反序列化XML文档

假设我有一个在C#像这样定义一个类:

public class Book
{
    public string Title {get; set;}
    public string Subject {get; set;}
    public string Author {get; set;}
}

假设我有XML,看起来像这样:

<Book>
    <Title>The Lorax</Title>
    <Subject>Children's Literature</Subject>
    <Author>Theodor Seuss Geisel</Author>
<Book>

如果我想实例化的一个实例Book使用此XML类的,我知道要做到这一点的唯一方法是使用XML文档类和枚举XML节点。

是否在.NET Framework提供的XML代码实例化类的一些方法? 如果不是,那么完成这个最好的做法是什么?

Answer 1:

你可以使用XML序列化创建一个XML的类的实例:

XmlSerializer serializer = new XmlSerializer(typeof(Book));
using (StringReader reader = new StringReader(xmlDocumentText))
{
    Book book = (Book)(serializer.Deserialize(reader));
}


Answer 2:

有几种方法来反序列化的XML文档-在XmlSerializer生活中System.Xml.Serialization和新DataContractSerializer这是在System.Runtime.Serialization

两者都要求你告诉串行如何操作(对每个不同的属性)属性装饰你的类成员。



文章来源: Parse XML string to class in C#? [duplicate]
标签: c# .net xml class