我有一些XML;
<data>
<name1>James</name1>
<name2>John</name2>
etc..
</data>
name1,name2等可以是任何东西,我希望能够将这个xml理想地放入字典中,这是否可以使用内置的.net序列化?
谢谢, 詹姆斯。
编辑:理想情况下我不想使用linq。是否可以将整个元素数组序列化为字符串?所以我最终会得到一个字符串对象'Data',其中包含所有子元素标签和数据?
答案 0 :(得分:8)
不,但您可以使用 Linq-to-Xml 来执行此操作:
XDocument.Load([file path, stream, whatever]).Descendants("data").Descendants()
.ToDictionary(element => element.Name, element => element.Value)
<强>更新强>
正如OP在他的编辑中所说,如果没有办法使用Linq-to-Xml,那么你需要自定义实现IXmlSerializable
的XML序列化(你可能想要查看其他Q&amp; A:{{3} })。
答案 1 :(得分:1)
您可以使用方法ToDictionary()
使用LINQ to XML;