XmlTextReader

作者:追风剑情 发布于:2016-12-26 16:32 分类:C#

示例一


using System;
using System.IO;
using System.Xml;

namespace TestXML
{
    class Program
    {
        private const String filename = "items.xml";

        static void Main(string[] args)
        {
            PrintXml();
            Console.Read();
        }

        public static void PrintXml()
        {
            XmlTextReader reader = null;

            try
            {
                //读取xml文件
                reader = new XmlTextReader(filename);
                //忽略空白节点
                reader.WhitespaceHandling = WhitespaceHandling.None;

                //遍历显示所有节点
                while (reader.Read())
                {
                    switch (reader.NodeType)
                    {
                        case XmlNodeType.Element:
                            Console.WriteLine("<{0}>", reader.Name);
                            Console.WriteLine("ver="+reader.GetAttribute("ver"));//读取属性
                            break;
                        case XmlNodeType.Text:
                            Console.WriteLine(reader.Value);
                            break;
                        case XmlNodeType.CDATA:
                            Console.WriteLine("<![CDATA[{0}]]>", reader.Value);
                            break;
                        case XmlNodeType.ProcessingInstruction:
                            Console.WriteLine("<?{0} {1}?>", reader.Name, reader.Value);
                            break;
                        case XmlNodeType.Comment:
                            Console.WriteLine("<!--{0}-->", reader.Value);
                            break;
                        case XmlNodeType.XmlDeclaration:
                            Console.WriteLine("<?xml version='1.0'?>");
                            break;
                        case XmlNodeType.Document:
                            break;
                        case XmlNodeType.DocumentType:
                            Console.WriteLine("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
                            break;
                        case XmlNodeType.EntityReference:
                            Console.WriteLine(reader.Name);
                            break;
                        case XmlNodeType.EndElement:
                            Console.WriteLine("</{0}>", reader.Name);
                            break;
                    }
                }
            }
            finally
            {
                if (reader != null)
                    reader.Close();
            }
        }
    }
}


<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
  <Item ver="1.2">Test with an entity: &number;</Item>
  <Item ver="1.2">test with a child element <more/> stuff</Item>
  <Item ver="1.2">test with a CDATA section <![CDATA[<456>]]> def</Item>
  <Item ver="1.2">Test with an char entity: &#65;</Item>
  <!-- Fourteen chars in this element.-->
  <Item ver="1.2">1234567890ABCD</Item>
</Items>

运行测试

11111.png

标签: C#

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号