XML和关系数据----用XML加载数据集
2006-12-06 19:33
501 查看
如何在数据集中加载 XML
此示例阐释如何使用 XML 数据加载数据集 (DataSet)。该示例是根据主题如何从 XSD 架构创建数据集映射建立的,方法是首先将 XML 数据加载到 XmlDataDocument 中,然后从数据集访问这些数据。为了创建内部映射,该数据集已加载了一个架构。下面的示例显示 XML 数据和创建关系对象之间的转换,以访问该 XML 数据。
|
function doClick(index, numTabs, id) {
document.all("tab" + id, index).className = "tab";
for (var i=1; i
td.code {
padding:0,10,0,10;
border-style:solid;
border-width:1;
border-bottom:0;
border-top:0;
border-right:0;
border-color:cccccc;
background-color:ffffee
}
td.tab {
text-align:center;
font:8pt verdana;
width:15%;
padding:3,3,3,3;
border-style:solid;
border-width:1;
border-right:0;
border-color:black;
background-color:eeeeee;
cursor:hand
}
td.backtab {
text-align:center;
font: 8pt verdana;
width:15%;
padding:3,3,3,3;
border-style:solid;
border-width:1;
border-right:0;
border-color:black;
background-color:cccccc;
cursor:hand
}
td.space {
width:70%;
font: 8pt verdana;
padding:0,0,0,0;
border-style:solid;
border-bottom:0;
border-right:0;
border-width:1;
border-color:cccccc;
border-left-color:black;
background-color:white
}
private const String document = "books.xml"; private const String myLoadSchema = "books.xsd"; private XmlDataDocument myXmlDataDocument; public static void Main() { String[] args = {document, myLoadSchema}; LoadDataSetXMLDataSample myLoadDataSetXMLDataSample = new LoadDataSetXMLDataSample(); myLoadDataSetXMLDataSample.Run(args); } public void Run(String[] args) { try { Console.WriteLine("Creating an XmlDataDocument ..."); myXmlDataDocument = new XmlDataDocument(); ParseSchema(args[1]); DisplayTableStructure(); myXmlDataDocument.Load(args[0]); DisplayTables(myXmlDataDocument.DataSet); } catch (Exception e) { Console.WriteLine ("Exception: {0}", e.ToString()); } } // Loads a specified schema into the DataSet public void ParseSchema(String schema) { StreamReader myStreamReader = null; try { Console.WriteLine("Reading Schema file ..."); myStreamReader = new StreamReader(schema); myXmlDataDocument.DataSet.ReadXmlSchema(myStreamReader); } catch (Exception e) { Console.WriteLine ("Exception: {0}", e.ToString()); } finally { if (myStreamReader != null) myStreamReader.Close(); } } private const document as string = "books.xml" private const myLoadSchema as string = "books.xsd" private myXmlDataDocument as XmlDataDocument shared sub Main() Dim args As String() = {document, myLoadSchema} Dim myLoadDataSetXMLDataSample as LoadDataSetXMLDataSample myLoadDataSetXMLDataSample = new LoadDataSetXMLDataSample() myLoadDataSetXMLDataSample.Run(args) end sub public sub Run(args As String()) try Console.WriteLine("Creating an XmlDataDocument ...") myXmlDataDocument = new XmlDataDocument() ParseSchema(args(1)) DisplayTableStructure() myXmlDataDocument.Load(args(0)) DisplayTables(myXmlDataDocument.DataSet) catch e as exception Console.WriteLine ("Exception: " & e.ToString()) end try end sub ' Loads a specified schema into the DataSet public sub ParseSchema(schema as string) Dim myStreamReader as StreamReader = nothing try myStreamReader = new StreamReader(schema) Console.WriteLine("Reading Schema file ...") myXmlDataDocument.DataSet.ReadXmlSchema(myStreamReader) catch e as exception Console.WriteLine ("Exception: " & e.ToString()) finally If Not myStreamReader Is nothing myStreamReader.Close() end if end try end sub | ||
C# | VB |
// Displays the contents of the DataSet tables private void DisplayTables(DataSet dataset) { // Navigate Dataset Console.WriteLine("Content of Tables ...\r\n"); foreach(DataTable table in dataset.Tables) { Console.WriteLine("TableName = " + table.TableName); Console.WriteLine ("{0}", "---------"); Console.WriteLine("Columns ...\r\n"); foreach(DataColumn column in table.Columns) { Console.Write("{0,-22}",column.ColumnName); } Console.WriteLine(); Console.WriteLine("\r\nNumber of rows = {0}", table.Rows.Count.ToString()); Console.WriteLine("Rows ...\r\n"); foreach(DataRow row in table.Rows) { foreach(Object value in row.ItemArray) { Console.Write("{0,-22}",value.ToString()); } Console.WriteLine(); } Console.WriteLine(); } } ' Displays the contents of the DataSet tables private sub DisplayTables(myDataset as DataSet) ' Navigate Dataset Console.WriteLine() Console.WriteLine("Content of Tables ...") Dim table as DataTable for each table in myDataset.Tables Console.WriteLine("TableName = " & table.TableName.ToString()) Console.WriteLine ("---------") Console.WriteLine("Columns ...") Dim column as DataColumn for each column in table.Columns Console.Write("{0,-22}",column.ColumnName.ToString()) next Console.WriteLine() Console.WriteLine("Number of rows = {0}", table.Rows.Count.ToString()) Console.WriteLine("Rows ...") Dim row as DataRow for each row in table.Rows Dim value as object for each value in row.ItemArray Console.Write("{0,-22}",value.ToString()) Next Console.WriteLine() Next Console.WriteLine() Next end sub | ||
C# | VB |
Creating an XmlDataDocument ... Reading Schema file ... Table structure Tables count=3 TableName='bookstore'. Columns count=1 ColumnName='bookstore_Id', type = System.Int32 TableName='book'. Columns count=5 ColumnName='title', type = System.String ColumnName='price', type = System.Decimal ColumnName='genre', type = System.String ColumnName='book_Id', type = System.Int32 ColumnName='bookstore_Id', type = System.Int32 TableName='author'. Columns count=3 ColumnName='first-name', type = System.String ColumnName='last-name', type = System.String ColumnName='book_Id', type = System.Int32 Content of Tables ... TableName = bookstore --------- Columns ... bookstore_Id Number of rows = 1 Rows ... 0 TableName = book --------- Columns ... title price genre book_Id bookstore_Id Number of rows = 3 Rows ... The Autobiography of Benjamin Franklin8.99 autobiography 0 0 The Confidence Man 11.99 novel 1 0 The Gorgias 9.99 philosophy 2 0 TableName = author --------- Columns ... first-name last-name book_Id Number of rows = 3 Rows ... Benjamin Franklin 0 Herman Melville 1 Sidas Plato 2
摘要
可通过 DataSet 属性上的关系方法访问已加载到 XmlDataDocument 中的 XML 数据。当通过 XmlDataDocument 的 DataSet 属性输入关系数据时,也可以读取 XML 数据
相关文章推荐
- XML和关系数据----从XSD架构创建数据集映射
- XML和关系数据----从XML推断数据集映射
- XML和关系数据----将数据集映射保存到XSD架构文件
- XML和关系数据----将数据集保存为XML
- XML和关系数据----从XSD架构创建数据集映射
- 使用JQuery加载XML文件中的数据【附源码下载】
- 从现有数据创建 XML 架构和数据集
- dhtmlXTree动态加载struts2中action的xml数据
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- 通过映射关系 动态转义为统一格式的数据 (支持 JSON 和 XML )
- 【android动态布局】之【ListView动态加载数据模板(使用xml布局)】
- 【AS3代码】加载XML数据
- FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据
- (原创)从CLOB字段的XML中提取关系数据研究
- Android之WebView加载xml数据及防止中文乱码
- Ext EditGrid 动态加载XML数据
- FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据
- 为什么我把数据库里的数据加载到rdlc文件的数据集里之后,用chart控件画曲线的时候,某些点的顺序没按数据库里的顺序
- spring的xml里加载properties数据
- Flex2 Tree从XML文件中加载数据