扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:陶刚编译 来源:天极网 2007年11月17日
关键字: 软件
<?xml version="1.0" encoding="utf-8"?> <xs:schema targetNamespace="urn:Sep2003Example" elementFormDefault="qualified" xmlns="urn:Sep2003Example" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="OrderType"> <xs:sequence> <xs:element name="OrderID" type="xs:integer" /> <xs:element name="LineItem" type="LineItemType" /> </xs:sequence> </xs:complexType> <xs:complexType name="LineItemType"> <xs:sequence> <xs:element name="ProductID" type="xs:int" /> <xs:element name="Quantity" type="xs:int" /> <xs:element name="UnitPrice" type="xs:decimal" /> </xs:sequence> </xs:complexType> <xs:complexType name="CustomerType"> <xs:sequence> <xs:element name="CustomerID" type="xs:string" /> <xs:element name="Order" type="OrderType" /> </xs:sequence> </xs:complexType> <xs:element name="Customer" type="CustomerType"> </xs:element> </xs:schema> |
<?xml version="1.0" ?> <Customer xmlns="urn:Sep2003Example"> <CustomerID>ALFKI</CustomerID> <PO>9572658</PO> <Address> <Street>One Main Street</Street> <City>Anywhere</City> <State>NJ</State> <Zip>08080</Zip> </Address> <Order> <OrderID>10966</OrderID> <LineItem> <ProductID>37</ProductID> <UnitPrice>26.50</UnitPrice> <Quantity>8</Quantity> <Description>Gravad lax</Description> </LineItem> <LineItem> <ProductID>56</ProductID> <UnitPrice>38.00</UnitPrice> <Quantity>12</Quantity> <Description>Gnocchi di nonna Alice</Description> </LineItem> </Order> </Customer> |
using System; using System.Collections; using System.Data; using System.Data.SqlClient; using System.Xml; public class XMLMap { public static void Main() { // 建立数据集和读取大纲 DataSet orderDS = new DataSet("CustOrder"); orderDS.ReadXmlSchema("CustOrderLitem.xsd"); // 打印数据集的形式 printDSShape(orderDS); // 把一个XML格式的订单读入数据集 orderDS.ReadXml("Order.xml",System.Data.XmlReadMode.IgnoreSchema); // 打印数据集中的数据 printDSData(orderDS); // 此处插入业务规则和数据库更新逻辑 } private static void printDSShape(DataSet ds) { foreach (DataTable dt in ds.Tables) { Console.WriteLine("{0}",dt.TableName); // 打印列的名称和类型 foreach (DataColumn dc in dt.Columns) Console.WriteLine("\t{0}\t{1}",dc.ColumnName,dc.DataType.ToString()); } } private static void printDSData(DataSet ds) { foreach (DataTable dt in ds.Tables) { Console.WriteLine("\n{0}:", dt.TableName); // 打印列的头 foreach (DataColumn dc in dt.Columns) Console.Write("{0}\t",dc.ColumnName); Console.WriteLine(""); // 输出数据 foreach (DataRow dr in dt.Rows) { foreach(DataColumn dc in dt.Columns) System.Console.Write("{0}\t",dr[dc]); System.Console.WriteLine(""); } } } } |
Customer CustomerID System.String Customer_Id System.Int32 Order OrderID System.Int64 Order_Id System.Int32 Customer_Id System.Int32 LineItem ProductID System.Int32 Quantity System.Int32 UnitPrice System.Decimal Order_Id System.Int32 Customer: CustomerID Customer_Id ALFKI 0 Order: OrderID Order_Id Customer_Id 10966 0 0 LineItem: ProductID Quantity UnitPrice Order_Id 37 8 26.5 0 56 12 38 0 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者