dim doc new as XmlDocument()
doc.load("c:\read.xlm")

解决方案 »

  1.   

    /// <summary>
    /// 进行XML读的操作
    /// </summary>
    public class XmlConfig
    {
    private XmlDocument doc;
    private string xmlFileName; public XmlConfig(string filename)
    {
    xmlFileName = filename;
    doc = new XmlDocument();
    try
    {
    doc.Load(xmlFileName);
    }
    catch
    {
    //doc.LoadXml("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
    }
    } public void Save()
    {
    try
    {
    doc.Save(xmlFileName);
    }
    catch
    {
    }
    } /// <summary>
    /// 读XML节点
    /// </summary>
    /// <param name="key">节点KEY</param>
    /// <param name="value">默认值</param>
    /// <returns>如节点存在,返回值,否则,返回默认值</returns>
    public string Read(string key, string value)
    {
    XmlNode node = doc.DocumentElement.SelectSingleNode(key);
    if (node != null)
    return node.InnerText;
    else
    return value;
    }     /// <summary>
        /// 读XML子节点
        /// </summary>
        /// <param name="key">父节点值</param>
        /// <param name="Childkey">子节点值</param>
        /// <param name="value">默认值</param>
        /// <returns>如节点存在,返回值,否则,返回默认值</returns>
    public string Read(string key,string Childkey,string value)
    {
    XmlNode node = doc.DocumentElement.SelectSingleNode(key);
    if(node!=null)
    {
    XmlNode node2=node.SelectSingleNode(Childkey);
    if(node2!=null)
    {
    return node2.InnerText;
    }
    else
    return value;
    }
    else
    return value;
    }
    public XmlNodeList NodeRead()
    {
    XmlNode node = doc.ChildNodes[1];
    XmlNodeList nodelist = node.ChildNodes;
    return nodelist;
    }
    }
      

  2.   

    namespace HowTo.Samples.XML
    {using System;
    using System.IO;
    using System.Xml;public class ReadXmlStreamSample
    {
        public static void Main()
        {
            ReadXmlStreamSample myReadXmlStreamSample = new ReadXmlStreamSample();
            myReadXmlStreamSample.Run();
        }    public void Run()
        {
            StringReader stream;
            XmlTextReader reader = null;        try
            {
                Console.WriteLine ("正在初始化 StringReader ...");            stream = new StringReader("<?xml version='1.0'?>" +
                                          "<!-- 此文件表示书店库存数据库的一个片断 -->" +
                                          "<bookstore>" +
                                          " <book genre=\"autobiography\" publicationdate=\"1981\" ISBN=\"1-861003-11-0\">" +
                                          "   <title>The Autobiography of Benjamin Franklin</title>" +
                                          "   <author>" +
                                          "       <first-name>Benjamin</first-name>" +
                                          "       <last-name>Franklin</last-name>" +
                                          "   </author>" +
                                          "   <price>8.99</price>" +
                                          " </book>" +
                                          " <book genre=\"novel\" publicationdate=\"1967\" ISBN=\"0-201-63361-2\">" +
                                          "   <title>The Confidence Man</title>" +
                                          "   <author>" +
                                          "       <first-name>Herman</first-name>" +
                                          "       <last-name>Melville</last-name>" +
                                          "   </author>" +
                                          "   <price>11.99</price>" +
                                          " </book>" +
                                          "  <book genre=\"philosophy\" publicationdate=\"1991\" ISBN=\"1-861001-57-6\">" +
                                          "   <title>The Gorgias</title>" +
                                          "   <author>" +
                                          "       <name>Plato</name>" +
                                          "   </author>" +
                                          "   <price>9.99</price>" +
                                          " </book>" +
                                          "</bookstore>");            // 从流中加载 XmlTextReader
                reader = new XmlTextReader (stream);            Console.WriteLine ("正在处理 ...");
                Console.WriteLine ();
                FormatXml(reader);
            }        catch (Exception e)
            {
                Console.WriteLine ("异常:{0}", e.ToString());
            }        finally
            {
                Console.WriteLine();
                Console.WriteLine("对流的处理已完成。");
                // 通过 XmlTextReader 完成
                if (reader != null)
                    reader.Close();
            }
        }private static void FormatXml (XmlReader reader)
    {
        int piCount=0, docCount=0, commentCount=0, elementCount=0, attributeCount=0, textCount=0, whitespaceCount=0;    while (reader.Read())
        {
                switch (reader.NodeType)
                {
                case XmlNodeType.ProcessingInstruction:
                    Format (reader, "ProcessingInstruction");
                    piCount++;
                    break;
                case XmlNodeType.DocumentType:
                    Format (reader, "DocumentType");
                    docCount++;
                    break;
                case XmlNodeType.Comment:
                    Format (reader, "Comment");
                    commentCount++;
                    break;
                case XmlNodeType.Element:
                    Format (reader, "Element");
                    while(reader.MoveToNextAttribute())
                    {
                        Format (reader, "Attribute");
                    }
                    elementCount++;
                    if (reader.HasAttributes)
                        attributeCount += reader.AttributeCount;
                    break;
                case XmlNodeType.Text:
                    Format (reader, "Text");
                    textCount++;
                    break;
                case XmlNodeType.Whitespace:
                    whitespaceCount++;
                    break;
                }
            }        // 显示统计信息
            Console.WriteLine ();
            Console.WriteLine("流的统计信息");
            Console.WriteLine ();
            Console.WriteLine("处理指令:{0}",piCount++);
            Console.WriteLine("文档类型:{0}",docCount++);
            Console.WriteLine("注释:{0}",commentCount++);
            Console.WriteLine("元素:{0}",elementCount++);
            Console.WriteLine("属性:{0}",attributeCount++);
            Console.WriteLine("文本:{0}",textCount++);
            Console.WriteLine("空白:{0}",whitespaceCount++);
        }    // 格式化输出
        private static void Format(XmlReader reader, String nodeType)
        {
            // 格式化输出
            Console.Write(reader.Depth + " ");
            Console.Write(reader.AttributeCount + " ");
            for (int i=0; i < reader.Depth; i++)
            {
                Console.Write('\t');
            }        Console.Write(nodeType + "<" + reader.Name + ">" + reader.Value);
            Console.WriteLine();
        }} // 结束类 ReadXmlStreamSample
    } // 结束命名空间 HowTo.Samples.XML
      

  3.   

    using System;
    using System.IO;
    using System.Xml;namespace HowTo.Samples.XML
    {public class MultipleXmlReaderSample
    {
        private const String document = "twopart.xml";    public static void Main()
        {
            MultipleXmlReaderSample myMultipleXmlReaderSample = new MultipleXmlReaderSample();
            myMultipleXmlReaderSample.Run(document);
        }    public void Run(String args)
        {
            try
            {
                //为指定的源文件创建新文件流。
                FileStream filestreamSource = new FileStream(args, FileMode.Open, FileAccess.Read);
                //用该文件流创建新读取器
                XmlTextReader reader = new XmlTextReader(filestreamSource);
                //读取 XML 文档的第一部分
                while(reader.Read())
                {
                    //显示元素并在 part1 结束元素标记处停止读取
                    //然后转到 ReadPart2 启动另一个读取器,读取文件的其余部分。
                    switch(reader.NodeType)
                    {
                        case XmlNodeType.Element:
                            Console.WriteLine("名称:{0}", reader.Name);
                            Console.WriteLine("  前缀:{0}", reader.Prefix);
                            Console.WriteLine("  本地名称:{0}", reader.LocalName);
                            Console.WriteLine("  命名空间:{0}", reader.NamespaceURI);
                            break;
                        case XmlNodeType.EndElement:
                            //用本地名称等于 part1 来停止在元素的结束元素处的读取
                            if ("part1"==reader.LocalName)
                            {
                                Console.WriteLine("终止读取第 1 部分...");
                                Console.WriteLine();
                                goto ReadPart2;
                            }
                            break;
                    }
                }            //读取 XML 文档的其余部分
                ReadPart2:
                Console.WriteLine("开始读取第 2 部分...");
                //创建 XmlNamespaceManager 并为文档添加命名空间。
                XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
                //设置默认命名空间,第一个参数为空。
                nsmanager.AddNamespace(String.Empty, "http://tempuri.org/mydefaultnamespace");
                nsmanager.AddNamespace("myns", "http://tempuri.org/mynamespace");
                nsmanager.AddNamespace("yourns", "http://tempuri.org/yournamespace");
                XmlParserContext pc = new XmlParserContext(reader.NameTable, nsmanager, reader.XmlLang, XmlSpace.Default);            // 将文件流重置到源流的开始处
                filestreamSource.Seek(0, SeekOrigin.Begin);
                
                XmlTextReader reader2 = new XmlTextReader(filestreamSource, XmlNodeType.Element, pc);            while(reader2.Read())
                {
                    switch (reader2.NodeType)
                    {
                        case XmlNodeType.Element:
                            Console.WriteLine("元素名称:{0}", reader2.Name);
                            Console.WriteLine("  前缀:{0}", reader2.Prefix);
                            Console.WriteLine("  本地名称:{0}", reader2.LocalName);
                            Console.WriteLine("  命名空间:{0}", reader2.NamespaceURI);
                            break;
                        case XmlNodeType.EndElement:
                            //用本地名称等于 part2 来停止在元素的结束元素处的读取
                            if ("part2"==reader2.LocalName)
                            {
                                Console.WriteLine("终止读取第 2 部分...");
                                goto Done;
                            }
                            break;
                    }
                }            Done:
                Console.WriteLine("完成。");
                reader.Close();        }
            catch (Exception e)
            {
                Console.WriteLine ("异常:{0}", e.ToString());
            }
        }
    } // 结束类 MultipleXmlReaderSample
    } // 结束命名空间 HowTo.Samples.XML
      

  4.   

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Xml;
    namespace DocSample1
    {
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.RichTextBox richTextBox1;
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null; public Form1()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent(); //
    // TODO: Add any constructor code after InitializeComponent call
    //
          LoadXml();
    } /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.richTextBox1 = new System.Windows.Forms.RichTextBox();
    this.SuspendLayout();
    // 
    // richTextBox1
    // 
    this.richTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
    | System.Windows.Forms.AnchorStyles.Right);
    this.richTextBox1.Location = new System.Drawing.Point(3, 2);
    this.richTextBox1.Name = "richTextBox1";
    this.richTextBox1.Size = new System.Drawing.Size(376, 213);
    this.richTextBox1.TabIndex = 0;
    this.richTextBox1.Text = "richTextBox1";
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(389, 293);
    this.Controls.AddRange(new System.Windows.Forms.Control[] {
      this.richTextBox1});
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    }    internal void LoadXml() {
        
          XmlDocument xmlDoc=new XmlDocument();
          xmlDoc.Load(@"c:/read.xml");      XmlNodeList nodes=xmlDoc.SelectNodes("book");
          foreach(XmlNode node in nodes)  {
            richTextBox1.AppendText(node.Name + "\r\n");
            foreach(XmlNode childNode in node.ChildNodes) {
              richTextBox1.AppendText("\t" + childNode.Name + ":");
              richTextBox1.AppendText(childNode.InnerText + "\r\n");
            }
          }
        
        } private void Form1_Load(object sender, System.EventArgs e)
    {

    } }
    }