仅使用那些属性将XML文档属性转换为新的XML文档

时间:2018-12-04 09:26:28

标签: c# .net xml

我遇到了一些问题,我需要将XML文档属性转换为仅具有这些属性的新XML文档。

我尝试了不同的方法,然后想到了

Console.WriteLine(attrVal) 

并且我将那些属性放入控制台,但是我需要将它们写入XML。

所以我的代码是:

using System;
using System.Text;
using System.Xml;

namespace MResourceWriter
{
    class Program
    {
        static void Main(string[] args)
        {
        XmlDocument xml = new XmlDocument();
        xml.Load(@"myfile.resx");

        XmlNodeList elemList = xml.GetElementsByTagName("data");
        for (int i = 0; i < elemList.Count; i++)
        {
            string attrVal = elemList[i].Attributes["name"].Value;
            Console.WriteLine(attrVal);
        }

       }
    }
}

我有此输入-因此将属性添加到控制台enter image description here

我想在全新的XML文档中转换这些值。

1 个答案:

答案 0 :(得分:0)

您可以使用Linq to XML

XElement dataValues = XElement.Load($"{fileName}");

IEnumerable<XElement> names =  from item in dataValues.Descendants("data")  
                                 select item.Element("name");

然后可以创建XML树。代码如下所示:

XElement xmlfromlist = new XElement("Root",
                                 from a in dataValues.Descendants("data")  
                                 select
                                   new XElement("Name", a.Element("name"));