我正在尝试输出一个特定的节点输出到一个文本文件(输出到控制台很好),但我不断收到一条错误消息:'System.Xml.XmlNodeList'到'string []'在这一行:< / p>
string[] lines = elemList;
以下是一些代码:
namespace countC
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("list.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList elemList = root.GetElementsByTagName("version");
for (int i = 0; i < elemList.Count; i++)
{
Console.WriteLine(elemList[i].InnerXml);
string[] lines = elemList;
System.IO.File.WriteAllLines(@"C:\VBtest\STIGapp.txt", lines);
}
Console.ReadKey();
}
}
}
答案 0 :(得分:2)
错误是因为您尝试将类型为XmlNodeList
的对象分配给string[]
类型的变量 - 这两个变量不兼容,您无法从另一个变量中分配一个。
如果你这样做,那么它至少会编译:
string line = elemList[i].InnerXml;
System.IO.File.WriteAllText(@"C:\VBtest\STIGapp.txt", line);
虽然我不确定它会做你想做的事情(如果elemList
包含更多的那个元素,上面的内容会覆盖给定的文件)。
答案 1 :(得分:1)
elemList是一个XmlNodeList,你不能将它隐式地转换为字符串数组。
你可以试试这个
string line = elemList[i].InnerText;
System.IO.File.WriteAllLines(@"C:\VBtest\STIGapp.txt", line);
但这当然取决于您的数据。