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; 。

 

posted @   Zeng。  阅读(1441)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示