這篇文章主要為大家詳細(xì)介紹了解XML的讀、寫操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都網(wǎng)站制作、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、全網(wǎng)整合營銷推廣服務(wù)為核心業(yè)務(wù)。10年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。1、XmlDocument創(chuàng)建XML文檔
//1首先要創(chuàng)建一個空的XML文檔 XmlDocument xmldoc = new XmlDocument(); //2在XML的文檔的最頭部加入XML的聲明段落 XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", ""); xmldoc.AppendChild(xmlnode); //3增加注釋 XmlComment xmlComm = xmldoc.CreateComment("注釋內(nèi)容"); xmldoc.AppendChild(xmlComm); //4為XML文檔加入元素 //加入一個根元素 XmlElement xmlelem = xmldoc.CreateElement("", "學(xué)生", ""); //xmltext = xmldoc.CreateTextNode("Root Text"); //xmlelem.AppendChild(xmltext); XmlAttribute xmlAttr = xmldoc.CreateAttribute("專業(yè)"); xmlAttr.Value = "計算機(jī)"; xmlelem.Attributes.Append(xmlAttr); xmldoc.AppendChild(xmlelem); //注釋:其中"xmlelem"是創(chuàng)建的"XmlElement"對象,"xmltext"是"XmlText"對象 //增加子元素 XmlElement xmlelem2 = xmldoc.CreateElement("姓名"); XmlText xmltext = xmldoc.CreateTextNode("Danny"); xmlelem2.AppendChild(xmltext); xmlelem.AppendChild(xmlelem2); //xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2); XmlElement xmlelem3 = xmldoc.CreateElement("性別"); xmltext = xmldoc.CreateTextNode("男"); xmlelem3.AppendChild(xmltext); xmlelem.AppendChild(xmlelem3); //xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2); //5保存創(chuàng)建好的XML文檔 xmldoc.Save("c:\\sampledata1.xml");
結(jié)果:
<?xml version="1.0"?> <!--注釋內(nèi)容--> <學(xué)生 專業(yè)="計算機(jī)"> <姓名>Danny</姓名> <性別>男</性別> </學(xué)生>
2、XmlDocument讀取XML文檔
XmlNodeReader reader = null; try { string s = "", v = ""; XmlDocument doc = new XmlDocument(); // 裝入指定的XML文檔 doc.Load("C:\\sampledata1.xml"); //// 創(chuàng)建一個XmlTextReader對象,讀取XML數(shù)據(jù) //XmlTextReader reader = new XmlTextReader("c:\\books.xml"); //// 載入XmlTextReader類的對象 //doc.Load(reader); // 設(shè)定XmlNodeReader對象來打開XML文件 reader = new XmlNodeReader(doc); // 讀取XML文件中的數(shù)據(jù),并顯示出來 while (reader.Read()) { //判斷當(dāng)前讀取得節(jié)點(diǎn)類型 switch (reader.NodeType) { case XmlNodeType.Element: s = reader.Name; break; case XmlNodeType.Text: { if (s.Equals("Name")) v = reader.Value; else v = reader.Value; } break; } } } finally { //清除打開的數(shù)據(jù)流 if (reader != null) reader.Close(); }
3、XmlTextWriter創(chuàng)建XML文檔
//1 創(chuàng)建XmlTextWriter類的實(shí)例對象 XmlTextWriter textWriter = new XmlTextWriter("c:\\sampledata2.xml", null); //2格式設(shè)置,對元素內(nèi)容進(jìn)行縮進(jìn) textWriter.Formatting = Formatting.Indented; //3書寫版本為“1.0”的 XML聲明 textWriter.WriteStartDocument(); //4寫出在名稱和文本之間帶有空格的處理指令 //String PItext="type='text/xsl' href='book.xsl'"; //textWriter.WriteProcessingInstruction("xml-stylesheet", PItext); //5增加 指定名稱和 可選屬性 的DOCTYPE 聲明 textWriter.WriteDocType("學(xué)生", null, null, "<!ENTITY sex '男'>"); //6增加注釋 textWriter.WriteComment("XML注釋"); //7創(chuàng)建開始元素. textWriter.WriteStartElement("學(xué)生"); //創(chuàng)建屬性1 textWriter.WriteAttributeString("專業(yè)", "計算機(jī)"); //創(chuàng)建屬性2 textWriter.WriteAttributeString("日期", "2008-09-01"); //8創(chuàng)建元素1 textWriter.WriteElementString("姓名", "Danny"); //創(chuàng)建元素2 textWriter.WriteStartElement("性別"); textWriter.WriteEntityRef("sex");//創(chuàng)建實(shí)體的引用 textWriter.WriteEndElement(); //創(chuàng)建元素3 textWriter.WriteElementString("年齡", "25"); //9寫CDATA. textWriter.WriteCData("年齡大了"); //10關(guān)閉根. textWriter.WriteEndElement(); textWriter.WriteEndDocument(); //11寫XML文件,并關(guān)閉textWriter. textWriter.Flush(); textWriter.Close();
結(jié)果:
<?xml version="1.0"?> <!DOCTYPE 學(xué)生[<!ENTITY sex '男'>]> <!--XML注釋--> <學(xué)生 日期="2008-09-01" 專業(yè)="計算機(jī)"> <姓名>Danny</姓名> <性別>&sex;</性別> <年齡>25</年齡> <![CDATA[年齡大了]]> </學(xué)生>
4、XmlTextReader讀取XML文檔
// 創(chuàng)建一個XmlTextReader類的對象并調(diào)用Read方法來讀取文件 XmlTextReader textReader = new XmlTextReader("C:\\sampledata2.xml"); textReader.Read(); // 節(jié)點(diǎn)非空則執(zhí)行循環(huán)體 while (textReader.Read()) { XmlNodeType nType = textReader.NodeType;//當(dāng)前節(jié)點(diǎn)的類型 switch (nType) { case XmlNodeType.XmlDeclaration: break; case XmlNodeType.Comment: break; case XmlNodeType.Attribute: break; case XmlNodeType.Element: break; case XmlNodeType.Entity: break; case XmlNodeType.DocumentType: break; case XmlNodeType.Whitespace: break; } // 讀取第一個元素 textReader.MoveToElement(); Response.Write("-----------------------"); // 讀取該元素的屬性并顯示在控制臺中 Response.Write("Name:" + textReader.Name); Response.Write("Base URI:" + textReader.BaseURI); Response.Write("Local Name:" + textReader.LocalName); Response.Write("Attribute Count:" + textReader.AttributeCount.ToString()); Response.Write("Depth:" + textReader.Depth.ToString()); Response.Write("Line Number:" + textReader.LineNumber.ToString()); Response.Write("Node Type:" + textReader.NodeType.ToString()); Response.Write("Attribute Count:" + textReader.Value.ToString()); }
以上就是XML的讀、寫操作的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
名稱欄目:詳細(xì)講解XML的讀、寫操作-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article44/gcsee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容