c# - 如何使用 XmlDocument 创建 XML 文档?

标签 c# xml

如何创建这样的 XML 文档?

<body>
  <level1>
    <level2>text</level2>
    <level2>other text</level2>
  </level1>
</body>

在 C# 中使用 XmlDocument

最佳答案

关于:

#region Using Statements
using System;
using System.Xml;
#endregion 

class Program {
    static void Main( string[ ] args ) {
        XmlDocument doc = new XmlDocument( );

        //(1) the xml declaration is recommended, but not mandatory
        XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration( "1.0", "UTF-8", null );
        XmlElement root = doc.DocumentElement;
        doc.InsertBefore( xmlDeclaration, root );

        //(2) string.Empty makes cleaner code
        XmlElement element1 = doc.CreateElement( string.Empty, "body", string.Empty );
        doc.AppendChild( element1 );

        XmlElement element2 = doc.CreateElement( string.Empty, "level1", string.Empty );
        element1.AppendChild( element2 );

        XmlElement element3 = doc.CreateElement( string.Empty, "level2", string.Empty );
        XmlText text1 = doc.CreateTextNode( "text" );
        element3.AppendChild( text1 );
        element2.AppendChild( element3 );

        XmlElement element4 = doc.CreateElement( string.Empty, "level2", string.Empty );
        XmlText text2 = doc.CreateTextNode( "other text" );
        element4.AppendChild( text2 );
        element2.AppendChild( element4 );

        doc.Save( "D:\\document.xml" );
    }
}

<子>(1) Does a valid XML file require an xml declaration?
<子>(2) What is the difference between String.Empty and “” (empty string)?


结果是:

<?xml version="1.0" encoding="UTF-8"?>
<body>
  <level1>
    <level2>text</level2>
    <level2>other text</level2>
  </level1>
</body>

但我建议你使用LINQ to XML像这里这样更简单、更易读:

#region Using Statements
using System;
using System.Xml.Linq;
#endregion 

class Program {
    static void Main( string[ ] args ) {
        XDocument doc = new XDocument( new XElement( "body", 
                                           new XElement( "level1", 
                                               new XElement( "level2", "text" ), 
                                               new XElement( "level2", "other text" ) ) ) );
        doc.Save( "D:\\document.xml" );
    }
}

关于c# - 如何使用 XmlDocument 创建 XML 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492705/

相关文章:

c# - Range 类的 FindNext 方法失败(C#、Excel)

xml - golang遍历问题,从文件中填充xml

php - 使用 NuSOAP 检索结果时出现 XML 错误(无效字符)

java - 计算缺失数字的数量

c# - Entity Framework 查询缓存

c# - 使用 C# 创建新的 Excel 函数(用户定义函数)

C# 如何避免在 .Split() 中拆分名称?

c# - 使用 XpathNavigator 在 C# 中读取 XML 文件

jquery - 获取根节点属性,jQuery/XML

c# - 如何在不传入连接名称的情况下在 Entities ObjectContext 上设置 EF Trace