zoukankan      html  css  js  c++  java
  • 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是最简便的。

  • 相关阅读:
    DOM对象和JQuery对象的区别
    处理android手机html5页面中,点击text文本框无法自动获取焦点的处理方法
    ORACLE之VBO-5530无法删除用户的解决办法
    当oracle clob类型不能和group by并用,但是需要去除多列重复
    Android 4主线程访问网络
    Android: How to get Address from geolocation using Geocoder
    解决乱码的最后方法
    tomcat启动时自动运行代码
    android 组件隐蔽显示状态
    android模拟器Genymotion 连接eclipse项目
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2800896.html
Copyright © 2011-2022 走看看