【问题标题】:How to convert XmlNodeList to xml file?如何将 XmlNodeList 转换为 xml 文件?
【发布时间】:2019-06-03 07:13:41
【问题描述】:

我正在尝试将 XmlNodeList 转换为 c# 代码中的 xml 文件。

我创建了 xml 文档,从中检索了一个元素列表,现在我希望将该列表转换为 xml 文件。

doc = new XmlDocument();
doc.Load("MyXmlFile.xml");

XmlNodeList contactList = doc.GetElementsByTagName("Contact");

我的下一步是将我的 XmlNodeList 转换为 xml 文件。 我该怎么做?

【问题讨论】:

  • 你能提供一个xml结构的例子吗?

标签: xml c#-4.0


【解决方案1】:

这是一个简单的例子。

    static void Main(string[] args)
    {
        try
        {
            var doc = new XmlDocument();
            doc.Load("MyXmlFile.xml");

            XmlNodeList contactList = doc.GetElementsByTagName("Contact");
            SaveToFile(contactList);
        }
        catch(Exception e)
        {
            Console.WriteLine(e.Message);
        }           
    }            

    static void SaveToFile(XmlNodeList nodeList)
    {
        var xmlBuilder = new StringBuilder();
        xmlBuilder.Append("<Contacts>");
        foreach (XmlNode node in nodeList)
        {
            xmlBuilder.Append(node.OuterXml);
        }

        xmlBuilder.Append("</Contacts>");

        var doc = new XmlDocument();
        doc.LoadXml(xmlBuilder.ToString());
        doc.Save("contacts.xml");
    }

【讨论】:

    【解决方案2】:

    你确实保持简短

    XmlNodeList contactList = doc.GetElementsByTagName("Contact");
    using (var writer = System.IO.File.CreateText(fileName))
    {
      writer.WriteLine($"<Root>{string.Join("",contactList.Cast<XmlNode>().Select(x=>x.OuterXml))}</Root>");  
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 2014-10-26
      • 1970-01-01
      • 2012-06-15
      • 2014-11-11
      • 2014-04-15
      • 2012-08-13
      相关资源
      最近更新 更多