XML的一部分看起来像这样。
<element>
<subelment1>text</subelement1>
<subelement2>text2</subelement2>
...
<additionalelement1>element1text</additionalelement1>
<additionalelement2>element2text</additionalelement2>
...
</element>
它有很多子元素。
我想在序列化过程中添加其他元素,但数字和名称总是不同的。 所以它会是这样的:
{{1}}
其他元素存储在字典中,其中元素名称是键。
有没有办法用XmlSerializer或任何其他序列化器来完成这个?
答案 0 :(得分:0)
我经常发布这个解决方案:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication34
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement element = doc.Descendants("element").FirstOrDefault();
Dictionary<string,string> dict = element.Elements().GroupBy(x => x.Name.LocalName, y => (string)y)
.ToDictionary(x => x.Key, y => y.FirstOrDefault());
}
}
}