2012-10-18 72 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