C#操作XML之——读取XML文件

名称空间:System.Xml

1.使用XmlDocument读取XML
[例]
//创建xml文档

XmlDocument xdoc = new XmlDocument();
//读取XML文档
xdoc.Load(@"..\books.xml");
//输出XML文档
Page.Response.Write(HttpUtility.HtmlEncode(xdoc.InnerXml));

2.使用XmlReader读取XML
XmlReader有3个具体实现的扩展类
1)XmlTextReader:读取字符流是一个只进读取器,具有返回有关内容节点类型的数据方法。
2)XmlValidatingReader:提供XML文档对象模型(DOM)API(如XmlNode树)的分析器。获取一个XmlNode,它将返回
在DOM树中查找到的任何节点,包括实体引用节点。
3)XmlNodeReader:提供验证或非验证XML分析器。
[例]
//加载XML文档
XmlTextReader xreader=new XmlTextReader(@"..\books.xml");
//忽略空格
xreader.WhitespaceHanding=WhitespaceHanding.None;
//解析XML文档,并输出所有节点
while(xreader.NodeType)
{
  //判断节点类型
  switch(xreader.NodeType)
  {
    //元素
    case XmlNodeType.Element:
    Page.Response.Write("<"+xreader.Name+">");
    break;
    //内容
    caseXmlNodeType.Text:
    Page.Response.Write("<"+xreader.Value+">");
    break;
    //元素结束标记
    caseXmlNodeType.EndElement:
    Page.Response.Write("</"+xreader.Value+">");
    break;
    //注释
    caseXmlNodeType.Comment:
    Page.Response.Write("<!--"+xreader.Value+"-->");
    break;
    //XML声明
    caseXmlNodeType.XmlDeclaration:
    Page.Response.Write("<?xml version='1.0'?>");
    break;
    //根节点
    caseXmlNodeType.Document:
    break;
    //文档类型声明
    caseXmlNodeType.DocumentType:
    Page.Response.Write("<!DOCTYPE"+xreader.Name+"["+xreader.Value+"]");
    break;
  }

}
//关闭xmlTextReader
if(xreader!=null)
  xreader.Colse();

posted @ 2012-05-22 12:06  DoTop-DoIT  阅读(538)  评论(0编辑  收藏  举报