自由国度

.Net、C#、WPF、Silverlight、HTML5、JavaScript等,好好写代码。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

private static void ReadXml(XmlReader reader)

{

    try

    {

         while (reader.Read())

                {

                    switch (reader.NodeType)

                    {

                        case XmlNodeType.Element:

                            if (reader.IsEmptyElement)      //空元素?

                            {

                                Console.Write("<{0}", reader.Name);

                                if (reader.HasAttributes)   //属性?

                                {

                                    while (reader.MoveToNextAttribute())

                                    {

                                        Console.Write(" {0}=\"{1}\"", reader.Name, reader.Value);

                                    }

                                }

                                Console.WriteLine("/>");

                            }

                            else

                            {

                                Console.Write("<{0}", reader.Name);

                                if (reader.HasAttributes)   //属性?

                                {

                                    while (reader.MoveToNextAttribute())

                                    {

                                        Console.Write(" {0}=\"{1}\"", reader.Name, reader.Value);

                                    }

                                }

                                Console.WriteLine(">", reader.Name);

                            }

                            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;

                    }

                }

    }

    catch (XmlException ex)

    {

        Console.WriteLine(ex.Message);

    }

}

 

posted on 2010-05-11 15:07  彬子  阅读(306)  评论(0编辑  收藏  举报