我有一个类似以下的XML文件。
输出结果如下:
但是,除了使用XDocument之外,是否有通过XmlDocument(使用System.Xml)获取此输出的选项?我只需要通过XmlDocument获得输出。
<Root>
<Main Name="Install">
<Details>Success</Details>
<Maintain>Install period</Maintain>
</Main>
<Main Name="Uninstall">
<Details>failure</Details>
<Maintain>uninstall period</Maintain>
</Main>
<Main Name="Discard">
<Details>failure</Details>
<Maintain>discard period</Maintain>
</Main>
<Main Name="Install">
<Details>Done</Details>
<Maintain>Got Output</Maintain>
</Main>
</Root>
我需要只打印xml中的最新更新。
我使用了以下的xdocument代码(使用system.xml.Linq),并得到了输出结果。
XDocument xDoc1 = XDocument.Load(@"C:\Input.xml");
var elemsNew = xDoc1.Element("Root").Elements("Main")
.GroupBy(x => x.Attribute("Name").Value)
.Select(g => g.Last())
.ToArray();
XDocument xDoc2 = new XDocument(new XElement("Root", elemsNew));
xDoc2.Save(@"C:\Output.xml");
输出结果如下:
<Root>
<Main Name="Uninstall">
<Details>failure</Details>
<Maintain>uninstall period</Maintain>
</Main>
<Main Name="Discard">
<Details>failure</Details>
<Maintain>discard period</Maintain>
</Main>
<Main Name="Install">
<Details>Done</Details>
<Maintain>Got Output</Maintain>
</Main>
</Root>
但是,除了使用XDocument之外,是否有通过XmlDocument(使用System.Xml)获取此输出的选项?我只需要通过XmlDocument获得输出。