Csharp/C Sharp by API/System.Xml/XmlNodeType — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
XmlNodeType.Element
<source lang="csharp"> 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", "Blue China Tea Pot"); w.WriteElementString("productPrice", "102.99"); w.WriteEndElement(); w.WriteEndElement(); w.WriteEndDocument(); w.Flush(); fs.Close(); fs = new FileStream("products.xml", FileMode.Open); XmlReader r = XmlReader.Create(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); } } }
}
</source>
XmlNodeType.Text
<source lang="csharp"> // Reading an XML document. using System; using System.Windows.Forms; using System.Xml; public class Test{
static void Main() { XmlDocument document = new XmlDocument(); document.Load( "books.xml" ); XmlNodeReader reader = new XmlNodeReader( document ); int depth = -1; while ( reader.Read() ) { switch ( reader.NodeType ) { case XmlNodeType.Element: depth++; TabOutput( depth ); Console.WriteLine("<" + reader.Name + ">" + "\r\n"); if ( reader.IsEmptyElement ) depth--; break; case XmlNodeType.rument: TabOutput( depth ); Console.WriteLine("\r\n"); break; case XmlNodeType.Text: TabOutput( depth ); Console.WriteLine("\t" + reader.Value + "\r\n"); break; case XmlNodeType.XmlDeclaration: TabOutput( depth ); Console.WriteLine("<?" + reader.Name + " " + reader.Value + " ?>\r\n"); break; case XmlNodeType.EndElement: TabOutput( depth ); Console.WriteLine("</" + reader.Name + ">\r\n"); depth--; break; } } } static void TabOutput( int number ) { for ( int i = 0; i < number; i++ ) Console.Write("\t"); }
}
</source>
XmlNodeType.XmlDeclaration
<source lang="csharp"> // Reading an XML document. using System; using System.Windows.Forms; using System.Xml; public class Test{
static void Main() { XmlDocument document = new XmlDocument(); document.Load( "books.xml" ); XmlNodeReader reader = new XmlNodeReader( document ); int depth = -1; while ( reader.Read() ) { switch ( reader.NodeType ) { case XmlNodeType.Element: depth++; TabOutput( depth ); Console.WriteLine("<" + reader.Name + ">" + "\r\n"); if ( reader.IsEmptyElement ) depth--; break; case XmlNodeType.rument: TabOutput( depth ); Console.WriteLine("\r\n"); break; case XmlNodeType.Text: TabOutput( depth ); Console.WriteLine("\t" + reader.Value + "\r\n"); break; case XmlNodeType.XmlDeclaration: TabOutput( depth ); Console.WriteLine("<?" + reader.Name + " " + reader.Value + " ?>\r\n"); break; case XmlNodeType.EndElement: TabOutput( depth ); Console.WriteLine("</" + reader.Name + ">\r\n"); depth--; break; } } } static void TabOutput( int number ) { for ( int i = 0; i < number; i++ ) Console.Write("\t"); }
}
</source>