在asp.net中将XML转换为DATATABLE

时间:2012-10-18 03:19:31

标签: asp.net xml

我这里有一个来自我本地驱动器的xml文件。
我的问题是如何将此xml文件转换为datatable?

可以帮助我吗?提前谢谢。


string filePath = "../../Sample.xml";
    DataTable dt = new DataTable("Sample");
    //columns
    dt.Columns.Add("Column1", typeof(int));
    dt.Columns.Add("Column2", typeof(string));

    dt.ReadXml(filePath);
    GridView1.DataSource = dt;
    GridView1.DataBind();

如果XML有像这样的子项,那该怎么办呢?

    <table1>
  <Sample>
    <Sample_1 Code="1" Desc="xxx">
      <Detail>
        <Detail Desc1="01" Desc2="aaa" Desc3="+++" />
        <Detail Desc1="02" Desc2="bbb" Desc3="--" />
        <Detail Desc1="03" Desc2="ccc" Desc3=",,," />
      </Details>
    <Sample>
<Sample>
    <Sample_2 Code="2" Desc="yyy">
      <Details>
        <Detail Desc1="01" Desc2="aaa" Desc3="+++" />
        <Detail Desc1="02" Desc2="bbb" Desc3="--" />
        <Detail Desc1="03" Desc2="ccc" Desc3=",,," />
      </Details>
    <Sample>    
</table1>

1 个答案:

答案 0 :(得分:0)

当前版本的jqGrid支持此功能。看这个例子 http://www.ok-soft-gmbh.com/jqGrid/XmlWithAttributes.htm

<强>更新 请参阅下面的代码,将XML文件显示到jsGrid

<强> HTML

<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" >

    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/redmond/jquery-ui.css" />
    <link rel="stylesheet" type="text/css" href="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.3.1/css/ui.jqgrid.css" />
    <style type="text/css">
    </style>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.3.1/js/i18n/grid.locale-en.js"></script>
    <script type="text/javascript">
        $.jgrid.no_legacy_api = true;
        $.jgrid.useJSON = true;
    </script>
    <script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.3.1/js/jquery.jqGrid.src.js"></script>

    <script type="text/javascript">
    //<![CDATA[
        /*global $ */
        /*jslint browser: true, plusplus: true */
        $(function () {
            'use strict';
            $("#ourunittb").jqGrid({
                url: 'Sample.xml',
                datatype: "xml",
                height: 'auto',
                colModel: [
                    { name: 'Author', width: 150,
                        xmlmap: function (obj) {
                            return $(obj).find("author").first().text();
                        } 
                    },
                    { name: 'Title', width: 300, xmlmap: function (obj) {
                        return $(obj).find("title").first().text();
                    } 
                    }
                ],
                xmlReader: {
                    root: "catalog",
                    row: "book",
                    repeatitems: false
                },
                loadonce: true,
                rowNum: 1000
            });
        });
    //]]>
    </script>
</head>
<body>
    <table id="ourunittb"><tr><td/></tr></table>
</body>
</html>

示例XML文件

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description>
   </book>
   <book id="bk104">
      <author>Corets, Eva</author>
      <title>Oberon's Legacy</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-03-10</publish_date>
      <description>In post-apocalypse England, the mysterious 
      agent known only as Oberon helps to create a new life 
      for the inhabitants of London. Sequel to Maeve 
      Ascendant.</description>
   </book>
   <book id="bk105">
      <author>Corets, Eva</author>
      <title>The Sundered Grail</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-09-10</publish_date>
      <description>The two daughters of Maeve, half-sisters, 
      battle one another for control of England. Sequel to 
      Oberon's Legacy.</description>
   </book>
   <book id="bk106">
      <author>Randall, Cynthia</author>
      <title>Lover Birds</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-09-02</publish_date>
      <description>When Carla meets Paul at an ornithology 
      conference, tempers fly as feathers get ruffled.</description>
   </book>
   <book id="bk107">
      <author>Thurman, Paula</author>
      <title>Splish Splash</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>A deep sea diver finds true love twenty 
      thousand leagues beneath the sea.</description>
   </book>
   <book id="bk108">
      <author>Knorr, Stefan</author>
      <title>Creepy Crawlies</title>
      <genre>Horror</genre>
      <price>4.95</price>
      <publish_date>2000-12-06</publish_date>
      <description>An anthology of horror stories about roaches,
      centipedes, scorpions  and other insects.</description>
   </book>
   <book id="bk109">
      <author>Kress, Peter</author>
      <title>Paradox Lost</title>
      <genre>Science Fiction</genre>
      <price>6.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>After an inadvertant trip through a Heisenberg
      Uncertainty Device, James Salway discovers the problems 
      of being quantum.</description>
   </book>
   <book id="bk110">
      <author>O'Brien, Tim</author>
      <title>Microsoft .NET: The Programming Bible</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-09</publish_date>
      <description>Microsoft's .NET initiative is explored in 
      detail in this deep programmer's reference.</description>
   </book>
   <book id="bk111">
      <author>O'Brien, Tim</author>
      <title>MSXML3: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-01</publish_date>
      <description>The Microsoft MSXML3 parser is covered in 
      detail, with attention to XML DOM interfaces, XSLT processing, 
      SAX and more.</description>
   </book>
   <book id="bk112">
      <author>Galos, Mike</author>
      <title>Visual Studio 7: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>49.95</price>
      <publish_date>2001-04-16</publish_date>
      <description>Microsoft Visual Studio 7 is explored in depth,
      looking at how Visual Basic, Visual C++, C#, and ASP+ are 
      integrated into a comprehensive development 
      environment.</description>
   </book>
</catalog>

<强>输出

enter image description here