Как преобразовать XmlNodeList в xml файл? - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь преобразовать XmlNodeList в xml-файл в коде c #.

Я создал документ XML, извлек из него список элементов, и теперь я хочу преобразовать этот список в файл XML.

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

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

Мой следующий шаг - преобразовать мой XmlNodeList в xml файл. Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы делаете это коротким как

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>");  
}
0 голосов
/ 08 января 2019

Вот простой пример.

    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");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...