如何在c#中将XML转换为自定义对象

时间:2017-06-03 19:58:46

标签: c# xml linq-to-xml

下面的XML文件。希望能够读取和写入以下文件。

使用以下代码,我可以搜索特定的页面名称节点

`XDocument xmldoc = XDocument.Load(path); 
 metadata m = new metadata();
 XElement emp = xmldoc.Descendants("data").FirstOrDefault(p => p.Element("pagename").Value == pagename);

        if (emp != null)
        {
           //How to populate each child node
           // dctermscreator.en = this
           // dctermscreator.fr = this

           //so on
        }`

 `<?xml version="1.0" encoding="UTF-8" ?>
 <root>
 <data>
  <pagename>default</pagename>
  <metadata>
    <desc>
      <en>eng desc</en>
      <fr>desc fra</fr>
    </desc>
    <dctermscreator>
      <en>eng desc</en>
      <fr>desc fra</fr>
    </dctermscreator>
    <dctermssubject>
      <en>eng desc</en>
      <fr>desc fra</fr>
    </dctermssubject>
  </metadata>
 </data>
 </root>`

1 个答案:

答案 0 :(得分:0)

我认为XmlSerializer就是你所需要的,只需要调用deserialize,它将为你完成所有工作。您还可以使用CreateReader从XElement获取xml阅读器