2012-10-18 51 views
0

我在这里有一个来自我的本地驱动器的xml文件。
我的问题是如何将这个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> 
+0

首先,你为什么需要将XML转换成一个DataTable?可能有更清洁和高效的方法来实现你想要的。 – Tariqulazam

+1

你不能使用Datable.ReadXml()吗? http://msdn.microsoft.com/en-us/library/system.data.datatable.readxml.aspx – Pawel

+0

有没有一种方法,我可以轻松地将XML文件转换为jqgrid?因为他们告诉我,我应该首先将xml转换为jqgrid上的数据表。我真的不知道该怎么做。谢谢 – user1647667

回答

0

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

UPDATE 请参阅下面的代码来显示一个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

+0

你能帮我转换吗?我在这里是初学者 – user1647667

+0

我会提供给你我迄今为止所做的一切,包括XML文件,当然还有一些时间。 – Tariqulazam

+0

在这里。我点击按钮后,使用gridview来显示xml文件。 – user1647667