亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#操作XML學習之創建XML文件的同時新建根節點和子節點(多級子節點)

2019-11-14 13:56:17
字體:
來源:轉載
供稿:網友

最近工作中遇到一個問題,要求創建一個xml文件,在創建的時候要初始化該XML文檔,同時該文檔打開后是XML形式,但是后綴名不是。在網上找了好些資料沒找到,只能自己試著弄了一下,沒想到成功了,把它記下來作為自己的學習筆記。

需求:創建XML文件,后綴名為.xwsp

初始化的文檔節點如下:

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <xxxversion="1.0" name="aaa"> 3     <CreationInfo> 4         <CreatedBy>CreateUser</CreatedBy> 5         <CreatedTime>2015/10/1 14:03:48</CreatedTime> 6         <SavedTime>2015/10/1 14:03:48</SavedTime> 7     </CreationInfo> 8     <a/> 9     <b/>10     <c/>11 </xxx>
View Code

首先第一個問題:后綴名為.xwsp,打開后顯示的XML文本

當時這個問題想復雜了,因為要進行二進制轉換之類的,網上找了老半天沒找到,最后自己試了一下,簡單的要死,只能說自己笨

解決方法:xmlDoc.Save("a.xwsp");

只要保存xml文件的時候改了后綴名即可,我也是醉了

 

第二個問題:添加節點的時候尤其是添加<CreatedBy><CreatedTime><SavedTime>這三個節點的時候老是添加不進去

當時寫的代碼如下:

 1 PRivate static void CreateXwspFile(string fileName, string path) 2         { 3             XmlDocument xmlDoc = new XmlDocument(); 4             //創建類型聲明節點   5             XmlDeclaration xdDec = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); 6             xmlDoc.AppendChild(xdDec); 7  8             //創建根節點   9             XmlElement xeRoot = xmlDoc.CreateElement("xxx");10             //給節點屬性賦值11             xeRoot.SetAttribute("version", "1.0");12             xeRoot.SetAttribute("name", fileName);13             xmlDoc.AppendChild(xeRoot);14 15             //創建并添加<CreationInfo></CreationInfo>節點16             xeRoot = xmlDoc.CreateElement("CreationInfo");17             XmlNode xnXwsp = xmlDoc.SelectSingleNode("xxx");18             if (xnXwsp != null)19             {20                 xnXwsp.AppendChild(xeRoot);21             }22 23             //創建并添加<CreatedBy></CreatedBy>節點24             xeRoot = xmlDoc.CreateElement("CreatedBy");25             xnXwsp = xmlDoc.SelectSingleNode("CreationInfo");26             if (xnXwsp != null)27             {28                 xnXwsp.AppendChild(xeRoot);29             }30 31             //創建并添加<CreatedTime></CreatedTime>節點32             xeRoot = xmlDoc.CreateElement("CreatedTime");33             xnXwsp = xmlDoc.SelectSingleNode("CreationInfo");34             if (xnXwsp != null)35             {36                 xnXwsp.AppendChild(xeRoot);37             }38 39             //創建并添加<SavedTime></SavedTime>節點40             xeRoot = xmlDoc.CreateElement("SavedTime");41             xnXwsp = xmlDoc.SelectSingleNode("CreationInfo");42             if (xnXwsp != null)43             {44                 xnXwsp.AppendChild(xeRoot);45             }46 47             //創建并添加<a></a>節點48             xeRoot = xmlDoc.CreateElement("a");49             xnXwsp = xmlDoc.SelectSingleNode("xxx");50             if (xnXwsp != null)51             {52                 xnXwsp.AppendChild(xeRoot);53             }54             //創建并添加<b></b>節點55             xeRoot = xmlDoc.CreateElement("b");56             xnXwsp = xmlDoc.SelectSingleNode("xxx");57             if (xnXwsp != null)58             {59                 xnXwsp.AppendChild(xeRoot);60             }61             //創建并添加<c></c>節點62             xeRoot = xmlDoc.CreateElement("c");63             xnXwsp = xmlDoc.SelectSingleNode("xxx");64             if (xnXwsp != null)65             {66                 xnXwsp.AppendChild(xeRoot);67             }68             //保存XML文檔69             try70             {71                 xmlDoc.Save(path + fileName + ".xwsp");72             }73             catch (Exception ep)74             {75                 Console.WriteLine(ep.Message);76             }77         }
View Code

結果如下:

1 <?xml version="1.0" encoding="utf-8"?>2 <xxx version="1.0" name="workspace1">3   <CreationInfo />4   <a />5   <b />6   <c />7 </xxx>
View Code

子節點<CreatedBy><CreatedTime><SavedTime>死活出不來,打斷點<CreationInfo>節點先添加進去了,但是xnXwsp = xmlDoc.SelectSingleNode("CreationInfo");這一句的結果死活為null,想不通,現在都沒想通,后來換了一種寫法就OK了

這種得不到正確寫法的思路是:先添加父節點<CreationInfo>再添加子節點<CreatedBy><CreatedTime><SavedTime>

網上找到另一種寫法,思路是:先創建子節點<CreatedBy><CreatedTime><SavedTime>,再創建父節點<CreationInfo>,然后把子節點添加到該父節點下面,再查找根節點<xxx>,最后把父節點<CreationInfo>添加到根節點末尾就OK了,代碼如下:

 1 private static void CreateXwspFile(string fileName, string path) 2         { 3             XmlDocument xmlDoc = new XmlDocument(); 4             //創建類型聲明節點   5             XmlDeclaration xdDec = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); 6             xmlDoc.AppendChild(xdDec); 7  8             //創建根節點   9             XmlElement xeRoot = xmlDoc.CreateElement("xxx");10             //給節點屬性賦值11             xeRoot.SetAttribute("version", "1.0");12             xeRoot.SetAttribute("name", fileName);13             xmlDoc.AppendChild(xeRoot);14 15             ////創建并添加<CreationInfo></CreationInfo>節點16             ////創建并添加<CreatedBy></CreatedBy>節點17             ////創建并添加<CreatedTime></CreatedTime>節點18             ////創建并添加<SavedTime></SavedTime>節點19             XmlElement xeCreationInfo = xmlDoc.CreateElement("CreationInfo");20             XmlElement xeCreatedBy = xmlDoc.CreateElement("CreatedBy");21             xeCreatedBy.InnerText = "Tektronix Course Editor";22             XmlElement xeCreatedTime = xmlDoc.CreateElement("CreatedTime");23             xeCreatedTime.InnerText = DateTime.Now.ToString();24             XmlElement xeSavedTime = xmlDoc.CreateElement("SavedTime");25             xeSavedTime.InnerText = DateTime.Now.ToString();26             xeCreationInfo.AppendChild(xeCreatedBy);27             xeCreationInfo.AppendChild(xeCreatedTime);28             xeCreationInfo.AppendChild(xeSavedTime);29             XmlNode xnXwsp = xmlDoc.SelectSingleNode("xxx");30             if (xnXwsp != null)31             {32                 xnXwsp.AppendChild(xeCreationInfo);33             }34 35             //創建并添加<a></a>節點36             xeRoot = xmlDoc.CreateElement("a");37             if (xnXwsp != null)38             {39                 xnXwsp.AppendChild(xeRoot);40             }41             //創建并添加<b></b>節點42             xeRoot = xmlDoc.CreateElement("b");43             if (xnXwsp != null)44             {45                 xnXwsp.AppendChild(xeRoot);46             }47             //創建并添加<c></c>節點48             xeRoot = xmlDoc.CreateElement("c");49             if (xnXwsp != null)50             {51                 xnXwsp.AppendChild(xeRoot);52             }53             //保存XML文檔54             try55             {56                 xmlDoc.Save(path + fileName + ".xwsp");57             }58             catch (Exception ep)59             {60                 Console.WriteLine(ep.Message);61             }62         }
View Code

結果如下:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <xxx version="1.0" name="workspace1"> 3   <CreationInfo> 4     <CreatedBy>Tektronix Course Editor</CreatedBy> 5     <CreatedTime>2015/10/1 14:43:56</CreatedTime> 6     <SavedTime>2015/10/1 14:43:57</SavedTime> 7   </CreationInfo> 8   <a /> 9   <b />10   <c />11 </xxx>
View Code

 

現在還有一個問題沒有解決:

要在<?xml version="1.0" encoding="utf-8"?>節點的后面插入<!DOCTYPE xwsp>這個節點,不曉得該怎么做,而且后面那個xwsp是可以改變的,意思就是可以自己定義,比如說我可以把它改為aaa之類的,這個暫時還沒找到解決方法


上一篇:C#預定義類型

下一篇:高斯算法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色噜噜狠狠色综合网图区| 日韩精品免费电影| 日韩电影中文字幕在线观看| 亚洲尤物视频网| 美女啪啪无遮挡免费久久网站| 91国产精品电影| 中文字幕亚洲一区在线观看| 欧美成人一区在线| 中文字幕av一区中文字幕天堂| 在线日韩av观看| 亚洲最大福利网站| 国产伦精品一区二区三区精品视频| 日韩经典中文字幕| 亚洲一品av免费观看| 另类色图亚洲色图| 91久久夜色精品国产网站| 欧美日韩一二三四五区| 国产精品手机播放| 欧美在线不卡区| 国产欧亚日韩视频| 亚洲精品国产精品国产自| 国产成人精品久久| 国产情人节一区| 色婷婷亚洲mv天堂mv在影片| 欧美成人免费全部| 欧美性极品xxxx做受| 日产精品99久久久久久| 日韩亚洲精品视频| 91精品国产亚洲| 亚洲色图av在线| 日韩av在线天堂网| 国产裸体写真av一区二区| 91精品在线播放| 亚洲国产高潮在线观看| 国产精品久久久久久中文字| 久久天天躁狠狠躁夜夜av| 欧美激情二区三区| 国产精品免费久久久久久| 久久久久久国产免费| 欧美高清理论片| 黑人巨大精品欧美一区二区一视频| 亚洲天堂av高清| 欧美一级黑人aaaaaaa做受| 成人国产精品一区| www.美女亚洲精品| 亚洲国产精品电影在线观看| 精品无人区太爽高潮在线播放| 亚洲第一在线视频| 国产精品电影在线观看| 日本欧美在线视频| 亚洲字幕在线观看| 亚洲精品suv精品一区二区| 国产精品久久电影观看| 亚洲欧洲偷拍精品| 欧美贵妇videos办公室| 日韩高清av一区二区三区| 亚洲天堂av在线免费| 国产日韩在线亚洲字幕中文| 国语自产精品视频在线看| 国产欧美最新羞羞视频在线观看| 久久深夜福利免费观看| 国内精品小视频| 国产精品毛片a∨一区二区三区|国| 久久久久久久香蕉网| 在线观看日韩欧美| 亚洲开心激情网| 国产精品99久久久久久白浆小说| 日本欧美精品在线| 亚洲欧美日韩天堂一区二区| 91av福利视频| 日韩风俗一区 二区| 色婷婷亚洲mv天堂mv在影片| 亚洲网站在线看| 国产成人av在线播放| 久精品免费视频| 国产视频精品va久久久久久| 亚洲美女www午夜| 亚洲天堂成人在线| 久久久久久高潮国产精品视| 亚洲毛茸茸少妇高潮呻吟| 欧美日韩中文字幕在线视频| 欧美日韩成人在线视频| 亚洲xxx自由成熟| 精品国产一区二区三区久久久狼| 96sao精品视频在线观看| 国产日韩精品电影| 久久久国产在线视频| 欧美另类99xxxxx| 亚洲香蕉伊综合在人在线视看| 日韩av电影免费观看高清| 成人免费看黄网站| 国产精品第1页| 国产美女91呻吟求| 久久色免费在线视频| 欧美日韩电影在线观看| 久久福利视频网| 欧美国产高跟鞋裸体秀xxxhd| 国内免费久久久久久久久久久| 91精品在线影院| 日本欧美黄网站| 国内免费精品永久在线视频| 欧美性猛交xxxx偷拍洗澡| 欧美xxxx综合视频| 亚洲毛片在线免费观看| 色妞久久福利网| 亚洲国产精品久久精品怡红院| 精品电影在线观看| 亚洲精品成人免费| 成人在线激情视频| 热re91久久精品国99热蜜臀| 大荫蒂欧美视频另类xxxx| 欧美一级视频一区二区| 久久6精品影院| 精品magnet| 91精品中国老女人| 久久精品99久久久久久久久| 国产一区二区三区在线看| 尤物yw午夜国产精品视频| 久久久久久久久久久91| 亚洲精品资源美女情侣酒店| 日韩大片在线观看视频| 性色av香蕉一区二区| 国产成人精品一区二区三区| 亚洲欧美制服中文字幕| 97精品视频在线播放| 欧美体内谢she精2性欧美| 亚洲国模精品一区| 久久久精品在线| 2018中文字幕一区二区三区| 国产精品视频一区国模私拍| 在线观看国产精品淫| 亚洲免费电影在线观看| 夜夜嗨av一区二区三区免费区| 成人两性免费视频| 91久久精品国产91久久| 国产ts人妖一区二区三区| 伊人亚洲福利一区二区三区| 欧美日韩国产一中文字不卡| 色婷婷久久一区二区| 岛国av午夜精品| 92国产精品久久久久首页| 欧美激情啊啊啊| 欧美电影免费播放| 亚洲日本aⅴ片在线观看香蕉| 亚洲精品视频免费| 久久久电影免费观看完整版| 国产精品久久久久久久午夜| 亚洲日本中文字幕免费在线不卡| 国产成人a亚洲精品| 在线观看精品国产视频| 欧美亚洲激情视频| 国产精品扒开腿做爽爽爽视频| 国产精品久在线观看| 亚洲激情在线观看视频免费| 日韩中文字幕在线精品| 福利视频导航一区| 久久久av网站| 亚洲成人黄色网| 久久最新资源网| 亚洲自拍欧美色图| 国产精品网红直播| 久久九九全国免费精品观看| 欧美精品videosex牲欧美| 亚洲图片在区色|