亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

C#中XML文件內容增刪改查的方法

發布時間:2022-04-02 10:46:18 來源:億速云 閱讀:188 作者:iii 欄目:開發技術

本篇內容介紹了“C#中XML文件內容增刪改查的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    什么是XML?

    • XML是一種可擴展標記語言(EXtensible Markup Language)。

    • XML是一種很像HTML的標記語言。

    • XML的設計宗旨是傳輸數據,而不是顯示數據。

    • XML標簽沒有被預定義。您需要自行定義標簽。

    • XML被設計為具有自我描述性。

    • XML是 W3C 的推薦標準。

    XML的優缺點

    XML的優點

    • 語法嚴謹,格式統一,符合標準。

    • 容易與其他系統進行遠程交互,數據共享比較方便。

    XML的缺點

    • 擴展性、彈性、易讀性均不佳。

    • XML文件龐大,文件格式復雜,傳輸占帶寬。

    • 服務器端和客戶端解析XML花費較多的資源和時間。

    XML簡單示例

    在線xml驗證工具

    <?xml version="1.0" encoding="utf-8"?>
    <books>
        <book>
            <author>追逐時光者</author>
            <title>XML學習教程</title>
            <publisher>時光出版社</publisher>
        </book>
    </books>

    XML中5個預定義的實體引用

    轉義字符符號名稱
    &amp;&和號
    &lt;<小于
    &gt;>大于
    &apos;'省略號
    &quot;"引號

    嚴格地講,在 XML 中僅有字符 "<"和"&" 是非法的。省略號、引號和大于號是合法的。這時,Xml有兩種解決方案來處理這種問題。

    CDATA

    轉義字符

    C#把特殊符號轉換為轉義字符

    /// <summary>
            /// 特殊符號轉換為轉義字符
            /// </summary>
            /// <param name="xmlStr"></param>
            /// <returns></returns>
            public string XmlSpecialSymbolConvert(string xmlStr)
            {
                return xmlStr.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\'", "&apos;").Replace("\"", "&quot;");
            }

    C#創建簡單的XML文件  

    /// <summary>
            /// 創建Xml文件
            /// </summary>
            public void CreateXmlFile()
            {
                XmlDocument xmlDoc = new XmlDocument();
                //創建類型聲明節點  
                XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
                xmlDoc.AppendChild(node);
                //創建Xml根節點  
                XmlNode root = xmlDoc.CreateElement("books");
                xmlDoc.AppendChild(root);
    
                XmlNode root1 = xmlDoc.CreateElement("book");
                root.AppendChild(root1);
    
                //創建子節點
                CreateNode(xmlDoc, root1, "author", "追逐時光者");
                CreateNode(xmlDoc, root1, "title", "XML學習教程");
                CreateNode(xmlDoc, root1, "publisher", "時光出版社");
                //將文件保存到指定位置
                xmlDoc.Save("D://xmlSampleCreateFile.xml");
            }
    
            /// <summary>    
            /// 創建節點    
            /// </summary>    
            /// <param name="xmlDoc">xml文檔</param>    
            /// <param name="parentNode">Xml父節點</param>    
            /// <param name="name">節點名</param>    
            /// <param name="value">節點值</param>    
            ///   
            public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
            {
                //創建對應Xml節點元素
                XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
                node.InnerText = value;
                parentNode.AppendChild(node);
            }

    創建生成的Xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <books>
      <book>
        <author>追逐時光者</author>
        <title>XML學習教程</title>
        <publisher>時光出版社</publisher>
      </book>
    </books>

    C#在XML文件添加節點

    這次我們是在上一次新建的XML文件中做操作,在book二級節點下添加一個新的節點名為publishdate(發布時間),該節點的value為2022-03-26。

    private static void AppendNode()
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("D://xmlSampleCreateFile.xml");//加載Xml文件
                XmlNode root = xmlDoc.SelectSingleNode("books/book");//選擇要添加子節點的book節點
                //創建一個新的Xml節點元素
                XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, "publishdate", null);
                node.InnerText = "2022-03-26";
                root.AppendChild(node);//將創建的item子節點添加到items節點的尾部
                xmlDoc.Save("D://AppendNodeFile.xml");//保存修改的Xml文件內容
            }

    添加節點成功后的XML文件內容

    <?xml version="1.0" encoding="utf-8"?>
    <books>
      <book>
        <author>追逐時光者</author>
        <title>XML學習教程</title>
        <publisher>時光出版社</publisher>
        <publishdate>2022-03-26</publishdate>
      </book>
    </books>

    C#修改XML文件節點的數據

    這次我們是在第一次新建的XML文件中做操作,把在book二級節點下的author的內容改成:大姚同學

    private static void UpdateXml()
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("D://xmlSampleCreateFile.xml");//加載Xml文件
                XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要修改的節點
                XmlNodeList xmlNodeList = xns.ChildNodes;//取出book節點下所有的子節點
    
                foreach (XmlNode xmlNode in xmlNodeList)
                {
                    XmlElement xmlElement = (XmlElement)xmlNode;//將節點轉換一下類型
                    if (xmlElement.Name=="author")//判斷該子節點是否是要查找的節點
                    {
                        xmlElement.InnerText = "大姚同學";//設置新值
                        break;
                    }
                }
                xmlDoc.Save("D://UpdateXml.xml");//保存修改的Xml文件內容
            }

    修改后的XML文件內容

    <?xml version="1.0" encoding="utf-8"?>
    <books>
      <book>
        <author>大姚同學</author>
        <title>XML學習教程</title>
        <publisher>時光出版社</publisher>
      </book>
    </books>

    C#刪除XML文件中的指定節點

    這次我們是在第一次新建的XML文件中做操作,刪除author節點。

    private static void DeleteXmlNode()
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("D://xmlSampleCreateFile.xml");//加載Xml文件
                XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要刪除的根節點
    
                #region 刪除author節點
    
                var delNode = xmlDoc.SelectSingleNode("books/book/" + "author");
                xns.RemoveChild(delNode);
    
                #endregion
    
                xmlDoc.Save("D://DeleteXmlNode.xml");//保存操作后的Xml文件內容
            }

    C#清空指定XML節點數據

    這次我們是在第一次新建的XML文件中做操作,清空author節點下的數據。

    private static void ClearDataXmlNode()
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("D://xmlSampleCreateFile.xml");//加載Xml文件
                XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要刪除的根節點
    
                #region 清空author節點下的數據
                XmlNodeList xmlNodeList = xns.ChildNodes;//取出book節點下所有的子節點
                foreach (XmlNode xmlNode in xmlNodeList)
                {
                    XmlElement xmlElement = (XmlElement)xmlNode;//將節點轉換一下類型
                    if (xmlElement.Name == "author")//判斷該子節點是否是要查找的節點
                    {
                        //清空author節點下的數據
                        xmlElement.RemoveAll();//刪除該節點的全部內容
                    }
                }
                #endregion
    
                xmlDoc.Save("D://ClearDataXmlNode.xml");//保存操作后的Xml文件內容
            }

    “C#中XML文件內容增刪改查的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

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

    xml
    AI

    黑水县| 梁山县| 榆社县| 漾濞| 精河县| 确山县| 扶沟县| 许昌县| 秭归县| 铁岭县| 济宁市| 夏津县| 临夏县| 德兴市| 平山县| 株洲市| 华宁县| 神池县| 富平县| 行唐县| 盱眙县| 莱州市| 兴文县| 礼泉县| 合作市| 定日县| 白银市| 科技| 历史| 丹凤县| 甘南县| 讷河市| 沁水县| 两当县| 炎陵县| 屯留县| 南木林县| 平舆县| 张北县| 汶川县| 丰县|