扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:陶刚编译 来源:天极网 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 |
濠电姷鏁告慨鐑姐€傛禒瀣劦妞ゆ巻鍋撻柛鐔锋健閸┾偓妞ゆ巻鍋撶紓宥咃躬楠炲啫螣鐠囪尙绐為梺褰掑亰閸撴盯鎮惧ú顏呪拺闂傚牊鍗曢崼銉ョ柧婵犲﹤瀚崣蹇旂節婵犲倻澧涢柛瀣ㄥ妽閵囧嫰寮介妸褋鈧帡鏌熼挊澶婃殻闁哄瞼鍠栭幃婊堝煛閸屾稓褰嬮柣搴ゎ潐濞叉ê鐣濈粙璺ㄦ殾闁割偅娲栭悡娑㈡煕鐏炲墽鐭嬫繛鍫熸倐濮婄粯鎷呯粵瀣異闂佹悶鍔嬮崡鍐茬暦閵忋倕鍐€妞ゆ劑鍎卞皬闂備焦瀵х粙鎴犫偓姘煎弮瀹曚即宕卞Ο闀愮盎闂侀潧鐗嗛幊搴㈡叏椤掆偓閳规垿鍩ラ崱妞剧凹濠电姰鍨洪敋閾荤偞淇婇妶鍛櫤闁稿鍊圭换娑㈠幢濡纰嶉柣搴㈣壘椤︾敻寮诲鍫闂佸憡鎸鹃崰搴敋閿濆鏁嗗〒姘功閻绻涢幘鏉戠劰闁稿鎹囬弻锝呪槈濞嗘劕纾抽梺鍝勬湰缁嬫垿鍩為幋锕€宸濇い鏇炴噺閳诲﹦绱撻崒娆戝妽妞ゃ劌鎳橀幆宀勫磼閻愰潧绁﹂柟鍏肩暘閸斿矂鎮為崹顐犱簻闁圭儤鍨甸鈺呮倵濮橆剦妲归柕鍥у瀵粙濡歌閸c儳绱撴担绛嬪殭婵☆偅绻堝濠氭偄绾拌鲸鏅i悷婊冪Ч閹﹢鎳犻鍌滐紲闁哄鐗勯崝搴g不閻愮儤鐓涢悘鐐跺Г閸犳﹢鏌℃担鐟板鐎规洜鍠栭、姗€鎮╅搹顐ら拻闂傚倷娴囧畷鍨叏閹惰姤鈷旂€广儱顦崹鍌炴煢濡尨绱氶柨婵嗩槸缁€瀣亜閺嶃劎鈽夋繛鍫熺矒濮婅櫣娑甸崨顔俱€愬銈庡亝濞茬喖宕洪埀顒併亜閹哄棗浜鹃梺鎸庢穿婵″洤危閹版澘绫嶉柛顐g箘椤撴椽姊虹紒妯哄鐎殿噮鍓欒灃闁告侗鍠氶崢鎼佹⒑閸撴彃浜介柛瀣閹﹢鏁冮崒娑氬幈闁诲函缍嗛崑鍡樻櫠椤掑倻纾奸柛灞剧☉缁椦囨煙閻熸澘顏柟鐓庢贡閹叉挳宕熼棃娑欐珡闂傚倸鍊风粈渚€骞栭銈傚亾濮樺崬鍘寸€规洖缍婇弻鍡楊吋閸涱垽绱遍柣搴$畭閸庨亶藝娴兼潙纾跨€广儱顦伴悡鏇㈡煛閸ャ儱濡煎褜鍨伴湁闁绘ǹ绉鍫熺畳闂備焦瀵х换鍌毼涘Δ鍛厺闁哄洢鍨洪悡鍐喐濠婂牆绀堟慨妯挎硾閽冪喖鏌曟繛褍瀚烽崑銊╂⒑缂佹ê濮囨い鏇ㄥ弮閸┿垽寮撮姀鈥斥偓鐢告煥濠靛棗鈧懓鈻嶉崶銊d簻闊洦绋愰幉楣冩煛鐏炵偓绀嬬€规洟浜堕、姗€鎮㈡總澶夌处