欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
C# 讀取XML文件的幾種方式

在開(kāi)發(fā)過(guò)程中,我們有時(shí)會(huì )需要保存到本地一些結構化數據或者配置信息,這時(shí)就可以選擇用xml文件。當然xml的用途也不僅僅是這些。

這一篇來(lái)談一談關(guān)于讀取xml文件的幾種方式;

我們有以下兩個(gè)文件,一個(gè)是帶有id屬性的,一個(gè)是不帶屬性的簡(jiǎn)單xml文件。

<?xml version="1.0" encoding="utf-8" ?><studentList>  <student>    <name>張三</name>    <sex></sex>    <old>20</old>  </student>  <student>    <name>李四</name>    <sex></sex>    <old>21</old>  </student></studentList>
<?xml version="1.0" encoding="utf-8" ?><studentList>  <student>    <name id="1">張三</name>    <sex id="11"></sex>    <old id="111">20</old>  </student>  <student>    <name id="2">李四</name>    <sex id="22"></sex>    <old id="222">21</old>  </student></studentList>

第一種方式:DataSet讀取

這種方式最簡(jiǎn)單,而且取數據也很方便,但是對于比較復雜的xml,操作起來(lái)也很麻煩,每一個(gè)帶屬性的節點(diǎn)都會(huì )生成一個(gè)table,可以自行監視下DataSet的結構情況,然后做不同的處理

 //xml文件路徑 string xmlPath = Application.StartupPath + "\\Student.xml";//不帶屬性 string xmlPaths = Application.StartupPath + "\\Students.xml";//帶屬性 //dataset讀取簡(jiǎn)單xml文件 DataSet ds = new DataSet(); ds.ReadXml(xmlPath);//讀取第一條數據的name節點(diǎn) string name = ds.Tables[0].Rows[0]["name"].ToString(); //輸出:張三 Console.WriteLine(name);

//dataset讀取帶屬性的xml文件 ds = new DataSet(); ds.ReadXml(xmlPaths); //讀取的節點(diǎn)名稱(chēng) string nodeName = "name"; name = ds.Tables[nodeName].Rows[0][nodeName+"_Text"].ToString(); //讀取節點(diǎn)的id屬性 string id = ds.Tables[nodeName].Rows[0]["id"].ToString(); //輸出:id:1,name:張三 Console.WriteLine("id:{0},name:{1}",id,name);

第二種方式:XmlDocument

這種方式就很強大并且靈活了,根據節點(diǎn)順序逐步獲取就可以

//需導入命名空間 using System.Xml;
//XmlDocument讀取xml文件 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPaths); //獲取xml根節點(diǎn) XmlNode xmlRoot = xmlDoc.DocumentElement; //根據節點(diǎn)順序逐步讀取 //讀取第一個(gè)name節點(diǎn) name = xmlRoot.SelectSingleNode("student/name").InnerText; //讀取節點(diǎn)的id屬性 id = xmlRoot.SelectSingleNode("student/name").Attributes["id"].InnerText; //輸出:id:1,name:張三 Console.WriteLine("id:{0},name:{1}", id, name);
//讀取所有的name節點(diǎn) foreach (XmlNode node in xmlRoot.SelectNodes("student/name")) { //循環(huán)輸出 Console.WriteLine("id:{0},name:{1}", node.Attributes["id"].InnerText, node.InnerText); }

第三種方式:JSON.NET

使用JSON.NET可以將xml轉換成json去操作

如果是對xml文件進(jìn)行操作的話(huà),個(gè)人不太建議使用這種方式;

需要引入Newtonsoft.Json.dll,使用時(shí)請注意版本,低版本可能不支持

//需導入命名空間 using Newtonsoft.Json;using Newtonsoft.Json.Linq;
//XmlDocument讀取xml文件 xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPaths); //轉換為json string json = JsonConvert.SerializeXmlNode(xmlDoc); //解析json JObject jobj = JObject.Parse(json); JArray jarr = JArray.Parse(jobj["studentList"]["student"].ToString()); //輸出:id:1,name:張三 Console.WriteLine("id:{0},name:{1}", jarr[0]["name"]["#text"], jarr[0]["name"]["@id"]);

簡(jiǎn)單的xml文件個(gè)人推薦使用第一種,復雜點(diǎn)的使用第二種,具體可以根據需求選擇。

由簡(jiǎn)入繁,拿來(lái)即用

后續精彩,持續關(guān)注

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#使用XmlDocument操作XML進(jìn)行查詢(xún)、增加、修改、刪除、保存應用的實(shí)例(轉載)...
C#中讀取xml文件指定節點(diǎn)
Unity3D研究院之使用 C#合成解析XML與JSON(四十一) | 雨松MOMO程序研究院
C#中對 XML節點(diǎn)進(jìn)行增、刪、改、查
如何完成.Net下XML文檔的讀寫(xiě)操作
用XML結點(diǎn)的屬性值查找相同結點(diǎn)的其它屬性值[C#]
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久