国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

[C#]對(duì)于XML操作代碼封裝

2019-11-17 03:18:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

[C#]對(duì)于xml操作代碼封裝

對(duì)于XML讀寫(xiě)操作,項(xiàng)目中經(jīng)常要用到,之前木有好好總結(jié)過(guò),例如LINQ TO XML也用過(guò),這次無(wú)意發(fā)現(xiàn)XPATH對(duì)于XML的查詢極為方便,索性把XML的操作總結(jié)以便后續(xù)方便使用。

1. 新增XML文件

                XMLToolV2 _xmlHelper = new XMLToolV2(@"C:/20140311blogs.xml");//xml保存路徑或者讀取路徑                _xmlHelper.Create("Person", "utf-8");//跟節(jié)點(diǎn)名稱:person;encode:utf-8                XmlElement _person = _xmlHelper.CreateElec("Name", "Yan-Zhiwei");//在跟節(jié)點(diǎn)后創(chuàng)建person節(jié)點(diǎn)                _xmlHelper.SetAttribute(_person, "Gender", "Man");//設(shè)置person節(jié)點(diǎn)屬性Gender                _xmlHelper.SetAttribute(_person, "Address", "shanghai");//設(shè)置person節(jié)點(diǎn)屬性Address                _xmlHelper.Save();//保存xml文件

上述代碼實(shí)現(xiàn)效果:

image

那在Person節(jié)點(diǎn)繼續(xù)增加節(jié)點(diǎn),實(shí)現(xiàn)也很簡(jiǎn)單

                _xmlHelper.Create("Person", "utf-8");//跟節(jié)點(diǎn)名稱:person;encode:utf-8                XmlElement _person = _xmlHelper.CreateElec("Name", "Yan-Zhiwei");//在跟節(jié)點(diǎn)后創(chuàng)建person節(jié)點(diǎn)                _xmlHelper.SetAttribute(_person, "Gender", "Man");//設(shè)置person節(jié)點(diǎn)屬性Gender                _xmlHelper.SetAttribute(_person, "Address", "shanghai");//設(shè)置person節(jié)點(diǎn)屬性Address                XmlElement _workLh = _xmlHelper.CreateElec(_person, "Work", "shanghai LH");//在person節(jié)點(diǎn)下增加work節(jié)點(diǎn)                _xmlHelper.SetAttribute(_workLh, "Year", "2013~");//設(shè)置work節(jié)點(diǎn)屬性Title                XmlElement _workRK = _xmlHelper.CreateElec(_person, "Work", "shanghai Ranking");//在person節(jié)點(diǎn)下增加work節(jié)點(diǎn)                _xmlHelper.SetAttribute(_workRK, "Year", "2011~2013");//設(shè)置work節(jié)點(diǎn)屬性Title                _xmlHelper.Save();//保存xml文件

上述代碼實(shí)現(xiàn)效果:

image

 

2.讀取節(jié)點(diǎn)的值,個(gè)人感覺(jué)xpath方式比linq to xml更為明了方便

                XMLToolV2 _xmlHelper = new XMLToolV2(@"C:/20140311blogs.xml");//xml保存路徑或者讀取路徑                XmlNode _person = _xmlHelper.Select("Person/Name/text()");                Console.WriteLine("Name:" + _person.InnerText);                XmlNode _gender = _xmlHelper.Select("Person/Name[@Gender='Man']");                Console.WriteLine("Gender:" + _gender.Attributes["Gender"].Value);                Console.WriteLine("Address:" + _gender.Attributes["Address"].Value);                Console.WriteLine("-----------------------------");                XmlNodeList _workRecord = _xmlHelper.SelectNodeList("Person/Name/Work");                XMLToolV2.Loop(_workRecord, (XmlNode node) =>                {                    Console.WriteLine("Work:" + node.InnerText + " Year:" + node.Attributes["Year"].Value);                });

上述代碼實(shí)現(xiàn)效果:

image

對(duì)于xpath語(yǔ)法,更多請(qǐng)參考:http://www.survivalescaperooms.com.cn/xquery/index.asp

 

3.格式化顯示XML

                XMLToolV2 _xmlHelper = new XMLToolV2(@"C:/20140311blogs.xml");//xml保存路徑或者讀取路徑                string _xmlString = _xmlHelper.ShowXml();                Console.WriteLine(XMLToolV2.FormatXml(_xmlString, "utf-8"));
上述代碼實(shí)現(xiàn)效果:

image

 

4.XMLToolV2源代碼

    public class XMLToolV2    {        static string _xmlPath;        static XmlDocument _xmlDoc { get; set; }        static XmlElement _xmlRoot;        public XMLToolV2(string xmlPath)        {            _xmlPath = xmlPath;            LoadXmlDoc()
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽中县| 长葛市| 张北县| 麻城市| 宁德市| 宣汉县| 鸡泽县| 遂宁市| 汉阴县| 乌拉特后旗| 丽水市| 将乐县| 克山县| 临邑县| 怀远县| 保山市| 顺昌县| 红桥区| 额尔古纳市| 栾川县| 长春市| 来宾市| 开鲁县| 平安县| 获嘉县| 安宁市| 双江| 稷山县| 南溪县| 长白| 卓尼县| 乾安县| 平山县| 东莞市| 潜江市| 芜湖市| 桐乡市| 革吉县| 晋中市| 阿拉尔市| 宜都市|