• C# 写入XML方法


    我们要写入的XML文档内容为

    <?xml version="1.0" encoding="UTF-8"?> 
    <Contacts> 
      <Contact id="01"> 
        <Name>Daisy Abbey</Name> 
        <Gender>female</Gender> 
      </Contact>   
    </Contacts>

    (1)使用XmlDocument类:

    var xmlDoc = new XmlDocument(); 
    //Create the xml declaration first 
    xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));
    
    //Create the root node and append into doc 
    var el = xmlDoc.CreateElement("Contacts"); 
    xmlDoc.AppendChild(el);
    
    // Contact 
    XmlElement elementContact = xmlDoc.CreateElement("Contact"); 
    XmlAttribute attrID = xmlDoc.CreateAttribute("id"); 
    attrID.Value = "01"; 
    elementContact.Attributes.Append(attrID);
    
    el.AppendChild(elementContact);
    
    // Contact Name 
    XmlElement elementName = xmlDoc.CreateElement("Name"); 
    elementName.InnerText = "Daisy Abbey"; 
    elementContact.AppendChild(elementName);
    
    // Contact Gender 
    XmlElement elementGender = xmlDoc.CreateElement("Gender"); 
    elementGender.InnerText = "female"; 
    elementContact.AppendChild(elementGender);
    
    xmlDoc.Save("test1.xml"); 

    (2)使用LINQ to XML 的XDocument类:

    var doc = new XDocument( 
        new XElement("Contacts", 
            new XElement("Contact", 
                new XAttribute("id", "01"),                
                new XElement("Name", "Daisy Abbey"), 
                new XElement("Gender", "female") 
            ) 
        ) 
    );    
    doc.Save("test2.xml"); 

    (3) 使用XmlTextWriter类:

    String filename = String.Concat("test3.xml");
    using (StreamWriter sw = new StreamWriter(filename))
    {
        // Create Xml Writer.
        XmlTextWriter xmlWriter = new XmlTextWriter(sw);
    
        // 也可以使用public XmlTextWriter(string filename, Encoding encoding)来构造
        // encoding默认为 UTF-8.
        //XmlTextWriter writer = new XmlTextWriter("test3.xml", null);
    
        // Set indenting so that its easier to read XML when open in Notepad and such apps. 
        xmlWriter.Formatting = Formatting.Indented;
    
        // This will output the XML declaration
        xmlWriter.WriteStartDocument();
                    
        xmlWriter.WriteStartElement("Contacts");
    
        xmlWriter.WriteStartElement("Contact");
        xmlWriter.WriteAttributeString("id", "01");
    
        xmlWriter.WriteElementString("Name", "Daisy Abbey");
        xmlWriter.WriteElementString("Gender", "female");                
    
        // close contact </contact>
        xmlWriter.WriteEndElement();
        // close contacts </contact>
        xmlWriter.WriteEndElement();
    
        xmlWriter.WriteEndDocument();
    
        xmlWriter.Close();
    }

    从上面的代码基本上还是可以看出来,使用LINQ to XML是最简便的。

  • 相关阅读:
    c++ socket 出现绑定失败的一个特殊原因。Bind failed Error:10049
    解决OCX 在 非开发电脑上注册出错的问题
    JAVASCRIPT 调用 其他应用程序的方法
    JAVASCRIPT 调用 OCX 的那些坑
    关于socket通信bind()返回值错误:10049
    WPF LiveChart示例
    .NET Core 2.1 IIS 部署 出现500.19 错误
    文件上传大小限制
    winform httpclient 多文件上传
    VS Code中添加程序集安装包即添加DLL引用
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2800896.html
Copyright © 2020-2023  润新知