【发布时间】:2018-12-04 19:11:20
【问题描述】:
我遇到了一些问题,我需要将 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);
}
}
}
}
我想在全新的 XML 文档中转换这些值。
【问题讨论】:
-
欢迎来到 Stack Overflow。目前恐怕你的问题还不清楚——你已经提供了一些代码,但你还没有告诉我们它在什么方面不起作用。如果您提供输入文档和预期输出文档的示例,这将非常有帮助。顺便说一句,我还强烈建议使用 LINQ to XML API 而不是旧的 XmlDocument API - LINQ to XML 更容易阅读。我还建议在内存中构建输出文档,而不是使用 XmlTextWriter - 同样,它会导致更简单的代码。
-
非常感谢乔恩。代码通过这一行将所有属性写入控制台 Console.WriteLine(attrVal); ,并且我想摆脱那条线并将这些结果移动到一个单独的 XML 文档中,其中只有这些结果。
-
好的,所以大概您只需要拨打
writer而不是拨打Console.WrirteLine。您是否查看过writer上可用的方法? (正如我所说,无论如何我都不会这样做,但是......) -
你能告诉我们你有什么和你需要什么结果吗?
-
在这里,Gauravsa 还推荐 Linq to XML 方法以获取更多信息,所以我想走那条路。也非常感谢您的推荐。