91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#操作XML處理指令是什么

發布時間:2021-12-03 10:20:23 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要介紹“C#操作XML處理指令是什么”,在日常操作中,相信很多人在C#操作XML處理指令是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#操作XML處理指令是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是處理指令?

處理指令(Processing Instructions,PI)是用“”包圍的一種標簽,用以描述特定應用程序信息。XML文檔可以包含多個針對不同應用程序的處理指令。處理指令由兩部分組成,target和value。target的角色類似于“名稱”,緊隨target之后的字符串就是value,value可以包含多個標記。
那么Xml聲明是不是處理指令呢?答案是肯定的,XML聲明是一個特殊的處理指令,它之所以特殊是因為它的value格式是預先定義好的。另外一個常見的處理指令示例是外部樣式表。樣式表處理指令也擁有預先定義好格式的value值,它由一些偽屬性組成。為什么叫做“偽屬性”,這是因為它的value值看上去像是幾個正常的XML屬性,但事實上它們只是一個字符串而已。

然而處理指令value值的格式是開放的。處理指令并不是文檔數據的一部分,XML解析器并不會理會它的內容,而是直接將它傳遞給客戶端應用程序。

微軟Office套件中的InfoPath就是用了處理指令來指示Xml文件是否可以用InfoPath客戶端來查看。

而另一個處理指令,mso-infoPathSolution,則告訴InfoPath解決方案模板的位置。該模板包含了布局Xml文件的布局轉換信息、視圖的架構信息已經數據源信息。

那么在C#應用程序中該如何操作包含處理指令的Xml文檔呢?

我們該如何處理和讀取XML文檔中已有的處理指令?首先,處理指令可以像文檔中的其他節點一樣被選出。XPath使用了謂詞(predicate )processing-instruction()來測試該節點是不是一個處理指令。

在System.XML命名空間中,有一個XmlProcessingInstruction類。當你從Xml文檔中選出了一個節點后,就可以把返回的XMLNode對象轉換成這種類型,該類型提供了非常友好的接口來操作處理指令的value。想要讀取它的value,只需要訪問該對象的Value屬性即可。

想要改變處理指令的值,也只需要將新值賦給該對象的Value屬性。

想要在XML文檔中添加一個新的處理指令,可以使用XMLDocument類的CreateProcessingInstruction方法。然后再使用InsertBefore或InsertAfter方法來將這個XmlProcessingInstruction對象添加到XML文檔中。

想要從XML文檔中刪除已有的處理指令,首先選出該處理指令的XmlNode對象,但不需要將其轉換為XMLProcessingInstruction對象。然后使用XMLDocument類的RemoveChild方法就可以將其刪除。

下面的代碼包含了本文所提及的C#操作全部內容:

// Xml文件路徑   string strPath = “path”    // 加載Xml文檔內容   XmlDocument doc = new XmlDocument();   doc.XmlResolver = null;   doc.Load(strPath);    // 顯示Xml文檔內容   Console.WriteLine(doc.InnerXml.ToString().Replace("><", ">\r\n\n<"));   // 讀取Xml文檔的處理指令   XmlProcessingInstruction pi = (XmlProcessingInstruction)doc.SelectSingleNode("/processing-instruction(\"mso-infoPathSolution\")");   // 顯示處理指令的value   Console.WriteLine(pi.Value);    // 更新處理指令的value   pi.Value = "updated value";    // 顯示更新后的處理指令value   Console.WriteLine(pi.Value);    // 創建新的處理指令   XmlProcessingInstruction piNew = doc.CreateProcessingInstruction("new-pi", "my new processing instruction");    // 將處理指令添加到文檔中   doc.InsertBefore(piNew, doc.ChildNodes[3]);    // 刪除處理指令   XmlNode ndDel = doc.SelectSingleNode("/processing-instruction(\"mso-application\")");   doc.RemoveChild(ndDel);    // 顯示更改后的Xml文檔   Console.WriteLine(doc.InnerXml.ToString().Replace("><", ">\r\n\n<"));

到此,關于“C#操作XML處理指令是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

霞浦县| 普陀区| 怀集县| 科技| 柯坪县| 隆德县| 高陵县| 林州市| 阿鲁科尔沁旗| 郑州市| 宁陕县| 晋宁县| 上犹县| 乌苏市| 汾阳市| 灌阳县| 大理市| 合阳县| 灵丘县| 东乌珠穆沁旗| 永胜县| 邢台县| 视频| 辽阳县| 左云县| 永昌县| 开化县| 承德县| 普洱| 古蔺县| 平阳县| 黑河市| 华亭县| 景洪市| 平顶山市| 长汀县| 桃园市| 仁化县| 新民市| 资兴市| 喜德县|