成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C#操作xml文件:使用XmlDocument實(shí)現(xiàn)讀取和寫入-創(chuàng)新互聯(lián)

XML文件是一種常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,還有許多重要的場(chǎng)所都有它的身影。Xml是Internet環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用。微軟也提供了一系列類庫(kù)來(lái)倒幫助我們?cè)趹?yīng)用程序中存儲(chǔ)XML文件。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了古丈免費(fèi)建站歡迎大家使用!
“在程序中訪問(wèn)進(jìn)而操作XML文件一般有兩種模型,分別是使用DOM(文檔對(duì)象模型)和流模型,使用DOM的好處在于它允許編輯和更新XML文檔,可以隨機(jī)訪問(wèn)文檔中的數(shù)據(jù),可以使用XPath查詢,但是,DOM的缺點(diǎn)在于它需要一次性的加載整個(gè)文檔到內(nèi)存中,對(duì)于大型的文檔,這會(huì)造成資源問(wèn)題。流模型很好的解決了這個(gè)問(wèn)題,因?yàn)樗鼘?duì)XML文件的訪問(wèn)采用的是流的概念,也就是說(shuō),任何時(shí)候在內(nèi)存中只有當(dāng)前節(jié)點(diǎn),但它也有它的不足,它是只讀的,僅向前的,不能在文檔中執(zhí)行向后導(dǎo)航操作。”具體參見(jiàn)在Visual C#中使用XML指南之讀取XML

下面我將介紹三種常用的讀取XML文件的方法。分別是

1: 使用 XmlDocument
2: 使用 XmlTextReader
3: 使用 Linq to Xml

下面我們使用XmlDocument:

1.讀取元素和屬性:

XmlDocument doc = new XmlDocument();

 doc.Load("Customer2.xml");
        List<CustomerInfo> lists = new List<CustomerInfo>();
        XmlNodeList list = doc.SelectNodes("/Table/row");

        foreach (XmlNode item in list)
        {
            CustomerInfo cust = new CustomerInfo();
            cust.Version = item.Attributes["Version"].Value;
            cust.AppId = item.Attributes["AppId"].Value;
            cust.CustomerID = item["CustomerID"].InnerText;
            cust.CompanyName = item["CompanyName"].InnerText;
            cust.ContactName = item["ContactName"].InnerText;
            cust.ContactTitle = item["ContactTitle"].InnerText;
            cust.Address = item["Address"].InnerText;
            cust.City = item["City"].InnerText;
            cust.PostalCode = item["PostalCode"].InnerText;
            cust.Country = item["Country"].InnerText;
            cust.Phone = item["Phone"].InnerText;
            cust.Fax = item["Fax"].InnerText;
            lists.Add(cust);

        }

2.創(chuàng)建文檔-屬性和元素

XmlDocument doc = new XmlDocument();
// doc.Load("Customertest1.xml");

 XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", "utf-8", null);
        XmlElement root = doc.DocumentElement;
        doc.InsertBefore(xmldecl, root);

         XmlElement ele = doc.CreateElement("Table");
         doc.AppendChild(ele);

         for (int i = 1; i < 10; i++)
         {

             XmlElement row = doc.CreateElement("row");

             row.SetAttribute("Version", "2.0");
             row.SetAttribute("AppId", "111");

             XmlElement custmonerId = doc.CreateElement("CustomerID");
             custmonerId.InnerText = "程沐喆" + i.ToString();
             row.AppendChild(custmonerId);

             XmlElement custmonername = doc.CreateElement("CompanyName");
             custmonername.InnerText = "Alfreds Futterkiste" + i.ToString();
             row.AppendChild(custmonername);

             XmlElement contactName = doc.CreateElement("ContactName");
             contactName.InnerText = "Maria Anders" + i.ToString();
             row.AppendChild(contactName);

             XmlElement contactTitle = doc.CreateElement("ContactTitle");
             contactTitle.InnerText = "Sales Representative" + i.ToString();
             row.AppendChild(contactTitle);

             XmlElement address = doc.CreateElement("Address");
             address.InnerText = "Obere Str. 57" + i.ToString();
             row.AppendChild(address);

             XmlElement city = doc.CreateElement("City");
             city.InnerText = "Berlin";
             row.AppendChild(city);

             XmlElement postalCode = doc.CreateElement("PostalCode");
             custmonerId.InnerText = "12209";
             row.AppendChild(postalCode);

             XmlElement country = doc.CreateElement("Country");
             country.InnerText = "Germany";
             row.AppendChild(country);

             XmlElement phone = doc.CreateElement("Phonw");
             phone.InnerText = "030-0074321";
             row.AppendChild(phone);

             XmlElement fax = doc.CreateElement("Fax");
             fax.InnerText = "030-0076545";
             row.AppendChild(fax);

             ele.AppendChild(row);
         }

         doc.Save("Customertest2.xml");

3.在讀取的同時(shí)進(jìn)行修改,刪除,添加

添加:

XmlDocument doc = new XmlDocument();
doc.Load("Customertest.xml");
XmlElement ele = doc.DocumentElement;
for (int i = 0; i < 2; i++)
{
XmlElement cust = doc.CreateElement("Customers");

    cust.SetAttribute("CustomerID","程沐喆"+i.ToString());
            cust.SetAttribute("CompanyName","程沐喆"+i.ToString());
            cust.SetAttribute("ContactName", "程沐喆" + i.ToString());
            cust.SetAttribute("ContactTitle", "程沐喆" + i.ToString());
            cust.SetAttribute("Address", "Obere Str .57"+i.ToString());
            cust.SetAttribute("City", "Berlin");
            cust.SetAttribute("PostalCode", "12209");
            cust.SetAttribute("Country", "Germany");
            cust.SetAttribute("Phone", "030-0074321");
            cust.SetAttribute("Fax", "030-0076545");

            ele.AppendChild(cust);

        }
        doc.Save("Customertest.xml");

修改:

XmlDocument doc = new XmlDocument();
doc.Load("Customertest1.xml");

 XmlNode ele = doc.SelectSingleNode("descendant::row[CustomerID='ALFKI1']");
        ele["CompanyName"].InnerText = "程沐喆";
        doc.Save("Customertest1.xml");

刪除:

XmlDocument doc = new XmlDocument();
doc.Load("Customertest1.xml");

 XmlNode ele = doc.SelectSingleNode("descendant::row[CustomerID='ALFKI1']");
        doc.DocumentElement.RemoveChild(ele);
        doc.Save("Customertest1.xml");

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

名稱欄目:C#操作xml文件:使用XmlDocument實(shí)現(xiàn)讀取和寫入-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article10/dehddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站設(shè)計(jì)公司、網(wǎng)站改版定制開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
余干县| 西昌市| 开江县| 抚顺市| 宁国市| 弋阳县| 乌拉特中旗| 海南省| 孟津县| 肇源县| 扎鲁特旗| 康保县| 安西县| 郁南县| 莱州市| 绥滨县| 丘北县| 翁源县| 石柱| 广州市| 怀仁县| 若尔盖县| 光山县| 云龙县| 密云县| 临安市| 武城县| 昌宁县| 华阴市| 吉林省| 寿宁县| 电白县| 仁怀市| 清新县| 台山市| 上饶市| 怀宁县| 五河县| 繁峙县| 甘泉县| 郎溪县|