如何将下面xml放到datagridview中

前端之家收集整理的这篇文章主要介绍了如何将下面xml放到datagridview中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
XML code
  1. <?
  2. xml version="1.0" encoding="utf-8"
  3. ?>
  4. <
  5. NewDataSet
  6. >
  7. <
  8. Table
  9. >
  10. <
  11. node
  12. ID
  13. ="1"
  14. 书籍名称
  15. ="语文"
  16. 书籍类别
  17. ="教育"
  18. 进货数量
  19. ="30"
  20. 库存数量
  21. ="10"
  22. />
  23. <
  24. node
  25. ID
  26. ="2"
  27. 书籍名称
  28. ="英语"
  29. 书籍类别
  30. ="教育"
  31. 进货数量
  32. ="20"
  33. 库存数量
  34. ="20"
  35. />
  36. <
  37. node
  38. ID
  39. ="3"
  40. 书籍名称
  41. ="数学"
  42. 书籍类别
  43. ="教育"
  44. 进货数量
  45. ="10"
  46. 库存数量
  47. ="30"
  48. />
  49. </
  50. Table
  51. >
  52. </
  53. NewDataSet
  54. >


求C#代码
C#语言 17 次浏览 2011-03-04 17:12

8 个回答

PS:不知道我写的XML格式是否正确,刚接触XML
2011-03-04 17:15 推荐: 0 次
用dateset读取XML

再把dateset给datagridview不就行了!
2011-03-04 17:24 推荐: 0 次
C# code
  1. //
  2. 创建 DataSet 对象
  3. DataSet myDS
  4. =
  5. new
  6. DataSet();
  7. //
  8. XML 文件读入 DataSet
  9. myDS.ReadXml(Server.MapPath(
  10. "
  11. people.xml
  12. "
  13. ));
  14. //
  15. 绑定到 DataGrid
  16. DataGrid1.DataSource
  17. =
  18. myDS.Tables[
  19. 0
  20. ]; DataGrid1.DataBind();
2011-03-04 17:26 推荐: 0 次
楼上正解!!
2011-03-04 17:30 推荐: 0 次
建议 数据侧 业务逻辑层 展示层 之间 禁止用DataSet DataTable 传递数据
自己建立对象(DTO)来传递数据
2011-03-04 17:36 推荐: 0 次
mark......
2011-03-04 17:45 推荐: 0 次
现在的XML格式用DataTable.ReadXML是读不出来的。

格式本身没有错,但不是DataTable所支持的那种。

可以考虑用linq:

C# code
  1. string
  2. xmlPath
  3. =
  4. @"
  5. XML路径
  6. "
  7. ; XDocument xdoc
  8. =
  9. XDocument.Load(xmlPath);
  10. var
  11. query
  12. =
  13. from
  14. n
  15. in
  16. xdoc.Descendants(
  17. "
  18. node
  19. "
  20. )
  21. select
  22. new
  23. { ID
  24. =
  25. n.Attribute(
  26. "
  27. ID
  28. "
  29. ).Value,书籍名称
  30. =
  31. n.Attribute(
  32. "
  33. 书籍名称
  34. "
  35. ).Value,书籍类别
  36. =
  37. n.Attribute(
  38. "
  39. 书籍类别
  40. "
  41. ).Value };
  42. //
  43. 可以直接绑定
  44. dataGridView1.DataSource
  45. =
  46. query.ToList();


另外建议在xml节点/属性的命名最好用英文。
如果xml结构是你自己定义的话,你可以修改下,以支持DataTable.ReadXML。

比如:
XML code
  1. <?
  2. xml version="1.0" standalone="yes"
  3. ?>
  4. <
  5. NewDataSet
  6. >
  7. <
  8. TableName
  9. >
  10. <
  11. ID
  12. >
  13. 1
  14. </
  15. ID
  16. >
  17. <
  18. BookName
  19. >
  20. a
  21. </
  22. BookName
  23. >
  24. <
  25. BookCategory
  26. >
  27. b
  28. </
  29. BookCategory
  30. >
  31. </
  32. TableName
  33. >
  34. <
  35. TableName
  36. >
  37. <
  38. ID
  39. >
  40. 1
  41. </
  42. ID
  43. >
  44. <
  45. BookName
  46. >
  47. a
  48. </
  49. BookName
  50. >
  51. <
  52. BookCategory
  53. >
  54. b
  55. </
  56. BookCategory
  57. >
  58. </
  59. TableName
  60. >
  61. </
  62. NewDataSet
  63. >
2011-03-04 18:05 推荐: 0 次
引用 7 楼 fangxinggood 的回复: 现在的XML格式用DataTable.ReadXML是读不出来的。 格式本身没有错,但不是DataTable所支持的那种。 可以考虑用linq: C# code string xmlPath = @"XML路径"; XDocument xdoc = XDocument.Load(xmlPath); var query = from n in xdoc.Descendan……
格式不能变,出了linq还有别的方式么

猜你在找的XML相关文章