C# 創建XML


本次介紹XML的操作,與JSON不同,.NET已經包含了對XML的支持,相關的API在System.Xml這個命名空間下,所以不需要引入第三方的擴展包。

創建XML時,主要使用到以下幾個相關類。

XmlDocument ,表示一個 XML 文檔

XmlDeclaration ,表示 XML 第一行

XmlElement , 表示一個 XML 元素

XmlAttribute , 表示一個元素的屬性

    XmlDocument doc = new XmlDocument();
    XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
    doc.AppendChild(dec);
    // <root>
    XmlElement root = doc.CreateElement("root");
    doc.AppendChild(root);

這樣就創建一個 XML 文檔對象 doc,並添加了一個根元素。一個 XmlElement 表示一個元素節點,下面還可以添加更多的元素。

    // <root>/<user>
    XmlElement user = doc.CreateElement("user");
    root.AppendChild(user);

    // 節點屬性
    user.SetAttribute("id", "20220227");
    // <root>/<user>/<username>
    XmlElement username = doc.CreateElement("username");
    username.InnerText = "admin";
    user.AppendChild(username);
    // <root>/<user>/<password>
    XmlElement password = doc.CreateElement("password");
    password.InnerText = "123qwe";
    user.AppendChild(password);
    // <root>/<user>/<moblie>
    XmlElement moblie = doc.CreateElement("moblie");
    moblie.InnerText = "13810012345";
    user.AppendChild(moblie);

    // 特殊字符轉義 < 會轉義為 &lt;
    XmlElement remark = doc.CreateElement("remark");
    remark.InnerText = "<開發部>";
    user.AppendChild(remark);

    // Save 方法有多個重載版本
    // 1 輸出到文件
    doc.Save("user.xml");
    // 2 輸出為字符串
    string xmlstr = doc.InnerXml;
    Console.WriteLine("輸出 XML: " + xmlstr);

其中,如果要輸出到一個文件,可以調用 doc.Save(filePath) 。如果要轉成 字符串,可以調用 doc.InnerXml 屬性,會轉成 XML 格式的字符串。

運行上述程序,得到的 XML 內容如下。

<?xml version="1.0" encoding="utf-8"?>
<root>
  <user id="20220227">
    <username>admin</username>
    <password>123qwe</password>
    <moblie>13810012345</moblie>
    <remark>&lt;開發部&gt;</remark>
  </user>
</root>

需要注意的是,如果元素的值文本中包含 HTML 轉義字符,API 會自動進行 轉義。比如,< 會轉義為 &lt; 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM