真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#操作xml文件:使用XmlDocument實現(xiàn)讀取和寫入

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

成都創(chuàng)新互聯(lián)公司服務項目包括岫巖網(wǎng)站建設、岫巖網(wǎng)站制作、岫巖網(wǎng)頁制作以及岫巖網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,岫巖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到岫巖省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

“在程序中訪問進而操作XML文件一般有兩種模型,分別是使用DOM(文檔對象模型)和流模型,使用DOM的好處在于它允許編輯和更新XML文檔,可以隨機訪問文檔中的數(shù)據(jù),可以使用XPath查詢,但是,DOM的缺點在于它需要一次性的加載整個文檔到內存中,對于大型的文檔,這會造成資源問題。流模型很好的解決了這個問題,因為它對XML文件的訪問采用的是流的概念,也就是說,任何時候在內存中只有當前節(jié)點,但它也有它的不足,它是只讀的,僅向前的,不能在文檔中執(zhí)行向后導航操作。”具體參見在Visual C#中使用XML指南之讀取XML

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

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

下面我們使用XmlDocument:

1.讀取元素和屬性:

XmlDocument doc = new XmlDocument();

        doc.Load("Customer2.xml");
        List lists = new List();
        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.在讀取的同時進行修改,刪除,添加

添加:

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");

名稱欄目:C#操作xml文件:使用XmlDocument實現(xiàn)讀取和寫入
文章URL:http://weahome.cn/article/jijdii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部