asp總結Xml

來源:互聯網
上載者:User

Xml
XmlTextReader 提供了只向前的、快速的、唯讀讀取xml內容,對於大於1M的xml經常採用它進行讀取,XmlTextReader.Create()載入xml檔案
XmlDocument 把xml內容讀取到記憶體當中,XmlDocument.Load()方法以共用讀的方式負載檔案
XDocument 是Linq to Xml採用的,跟XmlDocument相似,但效能方面比XmlDocument好

 

Linq to Xml 基本操作

//載入xml文檔
            XDocument xDocument = XDocument.Load(Server.MapPath(@"test.xml"));

            //得到根項目
            XElement root = xDocument.Root;

            //根據元素名擷取元素
            XElement element = xDocument.Descendants("Class").First();

            //根據元素屬性值擷取元素(要先判斷是否為null)
             XElement element2 = xDocument.Descendants().First(m => m.Attribute("Name")!=null&&m.Attribute("Name").Value == "Computer");

            //根據元素的值擷取元素
            XElement element3 = xDocument.Descendants().First(m => m.Value == "Mr.Yang");

            //根據元素名擷取某些元素
            List<XElement> elements = xDocument.Descendants("Class").ToList();

            //根據元素屬性值擷取某些元素(要先判斷是否為null)
            List<XElement> elements2 = xDocument.Descendants().Where(m =>m.Attribute("Name")!=null&& m.Attribute("Name").Value == "Computer").ToList();

            //根據元素的值擷取某些元素
            List<XElement> elements3 = xDocument.Descendants().Where(m => m.Value == "Mr.Yang").ToList();

            //元素不存在子項目則添加
            element.SetElementValue("Code", "101");

            //元素存在子項目則更新
            element.SetElementValue("Teacher", "Miss Yang");

            //刪除子項目
            element.Element("Code").Remove();

            //修改元素的值
            element.Value = "abcdf";

            //如果屬性存在則修改屬性值
            element.SetAttributeValue("Name","English");

            //如果屬性不存在則添加屬性
            element.SetAttributeValue("Code","101");

            //刪除屬
            element.Attribute("Name").Remove();

            //刪除元素
            element.Remove();

            //儲存修改到文檔
            //xDocument.Save(Server.MapPath(@"test.xml"));

 

注意:Descendants 可遍曆某節點或文檔下的所有子節點,Elements 則是遍曆當前節點或文檔下一級的子節點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.