如何将一个xml更改为另一个

时间:2012-06-13 05:54:58

标签: .net xml

我是XML解析的新手。我有一个Xml文件,我需要从这个xml中提取一些元素,并用这些选中的元素和一些额外的元素创建一个新的xml文件。

在开始之前我需要了解什么以及如何做到这一点。?

3 个答案:

答案 0 :(得分:5)

  

在开始之前我需要了解什么以及如何做到这一点。?

您可以查看允许您操作XML文件的XDocument类。另一种可能性是阅读XSL transformations

答案 1 :(得分:3)

LINQ to XML使这很容易。例如,这会将foo元素中的所有existing.xml元素复制到new.xml元素下的imported元素中,同时创建other元素:

XDocument oldDoc = XDocument.Load("existing.xml");
var elementsToCopy = oldDoc.Descendants("foo");

var newDoc = new XDocument(
    new XElement("root",
        new XElement("imported", elementsToCopy),
        new XElement("other")
    )
);
newDoc.Save("new.xml");

虽然XSLT(在其他地方建议)很可能会很好地工作,但我总是觉得使用它有点繁琐 - 而且我不想在C#中轻松学习另一种语言。 YMMV。

答案 2 :(得分:1)

我强烈建议您使用LINQ to XML

这是关于这个主题的好教程:

Using LINQ to XML to Add Data to XML File in C#