Csharp/C Sharp/XML/XML Write
Содержание
Create XML document with XmlWriter
using System;
using System.Xml;
using System.IO;
using System.Text;
class MainClass {
private static void Main() {
FileStream fs = new FileStream("products.xml", FileMode.Create);
XmlWriter w = XmlWriter.Create(fs);
w.WriteStartDocument();
w.WriteStartElement("products");
w.WriteStartElement ("product");
w.WriteAttributeString("id", "1001");
w.WriteElementString("productName", "Gourmet Coffee");
w.WriteElementString("productPrice", "0.99");
w.WriteEndElement();
w.WriteStartElement("product");
w.WriteAttributeString("id", "1002");
w.WriteElementString("productName", "Tea Pot");
w.WriteElementString("productPrice", "12.99");
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
}
}
Illustrates the XmlTextWriter class
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example20_1.cs illustrates the XmlTextWriter class
*/
using System;
using System.Xml;
public class Example20_1
{
public static void Main()
{
// use the XmlTextWriter to open a new XML file
XmlTextWriter xw = new XmlTextWriter(@"Cust4.xml",
System.Text.Encoding.UTF8);
// write the document declaration
xw.WriteStartDocument();
// write the first element
xw.WriteStartElement("NewDataSet");
// write the first customer
xw.WriteStartElement("Customers");
xw.WriteElementString("CustomerID", "ALFKI");
xw.WriteElementString("CompanyName", "Alfreds Futterkiste");
xw.WriteElementString("ContactName", "Maria Anders");
xw.WriteElementString("ContactTitle", "Sales Representative");
xw.WriteElementString("Address", "Obere Str. 57");
xw.WriteElementString("City", "Berlin");
xw.WriteElementString("PostalCode", "12209");
xw.WriteElementString("Country", "Germany");
xw.WriteElementString("Phone", "030-0074321");
xw.WriteElementString("Fax", "030-0076545");
xw.WriteEndElement();
// write the second customer
xw.WriteStartElement("Customers");
xw.WriteElementString("CustomerID", "BONAPP");
xw.WriteElementString("CompanyName", "Bon App"");
xw.WriteElementString("ContactName", "Laurence Lebihan");
xw.WriteElementString("ContactTitle", "Owner");
xw.WriteElementString("Address", "12, rue des Bouchers");
xw.WriteElementString("City", "Marseille");
xw.WriteElementString("PostalCode", "13008");
xw.WriteElementString("Country", "France");
xw.WriteElementString("Phone", "91.24.45.40");
xw.WriteElementString("Fax", "91.24.45.41");
xw.WriteEndElement();
// end the NewDataSet element
xw.WriteEndElement();
// end the document
xw.WriteEndDocument();
// flush and close
xw.Flush();
xw.Close();
}
}
/**/
Read and Write XML Without Loading an Entire Document into Memory
using System;
using System.Xml;
using System.IO;
using System.Text;
public class ReadWriteXml {
private static void Main() {
FileStream fs = new FileStream("products.xml", FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
w.WriteStartDocument();
w.WriteStartElement("products");
w.WriteStartElement("product");
w.WriteAttributeString("id", "01");
w.WriteElementString("name", "C#");
w.WriteElementString("price", "0.99");
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
Console.WriteLine("Document created.");
fs = new FileStream("products.xml", FileMode.Open);
XmlTextReader r = new XmlTextReader(fs);
while (r.Read()) {
if (r.NodeType == XmlNodeType.Element) {
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);
}
}
}
}
Write To XML File
/*
* C# Programmers Pocket Consultant
* Author: Gregory S. MacBeth
* Email: gmacbeth@comporium.net
* Create Date: June 27, 2003
* Last Modified Date:
* Version: 1
*/
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
namespace Client.Chapter_22___XML
{
public class WriteToXMLFile
{
static void Main(string[] args)
{
string document = "newbooks.xml";
XmlTextWriter myXmlTextWriter = null;
XmlTextReader myXmlTextReader = null;
myXmlTextWriter = new XmlTextWriter(args[1], null);
myXmlTextWriter.Formatting = Formatting.Indented;
myXmlTextWriter.WriteStartDocument(false);
myXmlTextWriter.WriteDocType("bookstore", null, "books.dtd", null);
myXmlTextWriter.WriteComment("This file represents another fragment of a book store inventory database");
myXmlTextWriter.WriteStartElement("bookstore");
myXmlTextWriter.WriteStartElement("book", null);
myXmlTextWriter.WriteAttributeString("genre", "autobiography");
myXmlTextWriter.WriteAttributeString("publicationdate", "1979");
myXmlTextWriter.WriteAttributeString("ISBN", "0-7356-0562-9");
myXmlTextWriter.WriteElementString("title", null, "The Autobiography of Mark Twain");
myXmlTextWriter.WriteStartElement("Author", null);
myXmlTextWriter.WriteElementString("first-name", "Mark");
myXmlTextWriter.WriteElementString("last-name", "Twain");
myXmlTextWriter.WriteEndElement();
myXmlTextWriter.WriteElementString("price", "7.99");
myXmlTextWriter.WriteEndElement();
myXmlTextWriter.WriteEndElement();
//Write the XML to file and close the writer
myXmlTextWriter.Flush();
myXmlTextWriter.Close();
if (myXmlTextWriter != null)
myXmlTextWriter.Close();
}
}
}
Write XML document to console
using System;
using System.Xml;
public class HelloXML {
public static void Main(string [] args) {
XmlTextWriter writer = new XmlTextWriter(Console.Out);
writer.WriteStartDocument( );
writer.WriteElementString("www.nfex.ru", "XML");
writer.WriteEndDocument( );
writer.Close( );
}
}
Writing XML with the XmlWriter Class
using System;
using System.IO;
using System.Xml;
class MainClass
{
static public void Main()
{
XmlTextWriter XmlWriter = new XmlTextWriter(Console.Out);
XmlWriter.WriteStartDocument();
XmlWriter.WriteComment("This is the comments.");
XmlWriter.WriteStartElement("BOOK");
XmlWriter.WriteElementString("TITLE", "this is the title.");
XmlWriter.WriteElementString("AUTHOR", "I am the author.");
XmlWriter.WriteElementString("PUBLISHER", "who is the publisher");
XmlWriter.WriteEndElement();
XmlWriter.WriteEndDocument();
}
}
XML Write: comment, start element, end element, attribute
using System;
using System.Xml;
public class TestXMLWriter{
static void Main(string[] args)
{
XmlTextWriter writer = new XmlTextWriter("test.xml", new System.Text.ASCIIEncoding());
writer.Formatting = Formatting.Indented;
writer.Indentation = 4;
writer.WriteStartDocument();
writer.WriteComment("Comment");
writer.WriteStartElement("ElementName", "myns");
writer.WriteStartAttribute("prefix", "attrName", "myns");
writer.WriteEndAttribute();
writer.WriteElementString("ElementName", "myns", "value");
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();
}
}