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();