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); // 特殊字符转义 < 会转义为 < 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><开发部></remark> </user> </root>
需要注意的是,如果元素的值文本中包含 HTML 转义字符,API 会自动进行 转义。比如,< 会转义为 < 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!