方法一: using System; using System.Xml; using System.IO; using System.Text; public class ReadWriteXml { private static void Main() { // Create the file and writer. FileStream fs = new FileStream("products.xml", FileMode.Create); XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8); // Start the document. w.WriteStartDocument(); w.WriteStartElement("products"); // Write a product. w.WriteStartElement("product"); w.WriteAttributeString("id", "1001"); w.WriteElementString("productName", "Gourmet Coffee"); w.WriteElementString("productPrice", "0.99"); w.WriteEndElement(); // Write another product. w.WriteStartElement("product"); w.WriteAttributeString("id", "1002"); w.WriteElementString("productName", "Blue China Tea Pot"); w.WriteElementString("productPrice", "102.99"); w.WriteEndElement(); // End the document. w.WriteEndElement(); w.WriteEndDocument(); w.Flush(); fs.Close(); Console.WriteLine("Document created. " + "Press Enter to read the document."); Console.ReadLine(); fs = new FileStream("products.xml", FileMode.Open); XmlTextReader r = new XmlTextReader(fs); // Read all nodes. while (r.Read()) { if (r.NodeType == XmlNodeType.Element) { Console.WriteLine(); Console.WriteLine("<" + r.Name + ">"); if (r.HasAttributes) { for (int i = 0; i < r.AttributeCount; i++) { Console.WriteLine("/tATTRIBUTE: " + r.GetAttribute(i)); } } } else if (r.NodeType == XmlNodeType.Text) { Console.WriteLine("/tVALUE: " + r.Value); } } Console.ReadLine(); } }
方法二: 1using System; 2using System.Xml; 3 4public class GenerateXml 5{ 6 7 private static void Main() 8 { 9 10 // Create a new, empty document. 11 XmlDocument doc = new XmlDocument(); 12 XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); 13 doc.AppendChild(docNode); 14 15 // Create and insert a new element. 16 XmlNode productsNode = doc.CreateElement("products"); 17 doc.AppendChild(productsNode); 18 19 // Create a nested element (with an attribute). 20 XmlNode productNode = doc.CreateElement("product"); 21 XmlAttribute productAttribute = doc.CreateAttribute("id"); 22 productAttribute.Value = "1001"; 23 productNode.Attributes.Append(productAttribute); 24 productsNode.AppendChild(productNode); 25 26 // Create and add the sub-elements for this product node 27 // (with contained text data). 28 XmlNode nameNode = doc.CreateElement("productName"); 29 nameNode.AppendChild(doc.CreateTextNode("Gourmet Coffee")); 30 productNode.AppendChild(nameNode); 31 XmlNode priceNode = doc.CreateElement("productPrice"); 32 priceNode.AppendChild(doc.CreateTextNode("0.99")); 33 productNode.AppendChild(priceNode); 34 35 // Create and add another product node. 36 productNode = doc.CreateElement("product"); 37 productAttribute = doc.CreateAttribute("id"); 38 productAttribute.Value = "1002"; 39 productNode.Attributes.Append(productAttribute); 40 productsNode.AppendChild(productNode); 41 nameNode = doc.CreateElement("productName"); 42 nameNode.AppendChild(doc.CreateTextNode("Blue China Tea Pot")); 43 productNode.AppendChild(nameNode); 44 priceNode = doc.CreateElement("productPrice"); 45 priceNode.AppendChild(doc.CreateTextNode("102.99")); 46 productNode.AppendChild(priceNode); 47 48 // Save the document (to the Console window rather than a file). 49 doc.Save(Console.Out); 50 Console.ReadLine(); 51 } 52}