现在的XML格式用DataTable.ReadXML是读不出来的。
格式本身没有错,但不是DataTable所
支持的那种。
可以考虑用linq:
-
C# code
-
string
xmlPath
=
@"
XML路径
"
; XDocument xdoc
=
XDocument.Load(xmlPath);
var
query
=
from
n
in
xdoc.Descendants(
"
node
"
)
select
new
{ ID
=
n.Attribute(
"
ID
"
).Value,书籍名称
=
n.Attribute(
"
书籍名称
"
).Value,书籍类别
=
n.Attribute(
"
书籍类别
"
).Value };
//
可以直接绑定
dataGridView1.DataSource
=
query.ToList();
另外建议在xml节点/
属性的命名最好用英文。
如果xml结构是你自己定义的话,你可以
修改下,以
支持DataTable.ReadXML。
比如:
-
XML code
-
<?
xml version="1.0" standalone="yes"
?>
<
NewDataSet
>
<
TableName
>
<
ID
>
1
</
ID
>
<
BookName
>
a
</
BookName
>
<
BookCategory
>
b
</
BookCategory
>
</
TableName
>
<
TableName
>
<
ID
>
1
</
ID
>
<
BookName
>
a
</
BookName
>
<
BookCategory
>
b
</
BookCategory
>
</
TableName
>
</
NewDataSet
>