gpt4 book ai didi

c# - 错误 "System.Xml.Linq.XDocument' 不包含定义是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:33 25 4
gpt4 key购买 nike

我正在尝试编写代码将 xml 文件转换为数据表。我收到以下错误

System.Xml.Linq.XDocument' 不包含 'DocumentNode' 的定义,并且找不到接受类型为 'System.Xml.Linq.XDocument' 的第一个参数的扩展方法 'DocumentNode'(您是否缺少使用指令或程序集引用?)

我错过了什么?

下面是我的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.XPath;

using System.Xml.Linq;

namespace ConsoleApplication1
{
class Program
{
static void Main()
{



var xdoc = System.Xml.Linq.XDocument.Load(filename);
System.Xml.XmlElement xelRoot = xdoc.DocumentElement;
System.Xml.XmlNodeList xList = xelRoot.SelectNodes("/rulebase/security/rules/entry");

int x = 0;
int y = 0;
string[] ColumnArray = new string[25];
string[] RowArray = new string[25];


foreach (System.Xml.XmlNode pNode in xList)
{



if (pNode.ChildNodes.Count = 0)
{

}
else
{
string val1 = "";
string nodeVal = "";

string nodeName = pNode.name;
foreach (System.Xml.XmlNode childNode in pNode.ChildNodes)
{
val1 = val1 + childNode.value + ", ";
}
val1 = val1 + " ,";
nodeVal = val1.substring(0, val1.length - 3);

ColumnArray[x] = nodeName;
RowArray[y] = nodeVal;
x++;
y++;

}
}

System.Data.DataTable table1 = new System.Data.DataTable("entry");

foreach (string s in ColumnArray)
{
table1.Columns.Add(s);
}

System.Data.DataRow row;
row = table1.LoadDataRow(RowArray, true);
}

}
}

最佳答案

(起初我不明白问题下的评论,所以这里有一些细节)

System.Xml.XmlDocumentDocumentElement(代码中正在使用这个...不知道题中提到的DocumentNode是从哪里来的)。

System.Xml.Linq.XDocument

  • 是较新的 LINQ to XML 类
  • 没有 DocumentElement
  • 例如使用 xdoc.Root.Name 获取根元素的名称

了解更多信息 XMlDocument vs XDocument

关于c# - 错误 "System.Xml.Linq.XDocument' 不包含定义是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com