<?xml version="1.0" encoding="GB2312" ?><aspx8><article><Title>aspx8</Title><Param><id>1</id><content>test</content></Param></article></aspx8>
读取content的值1.System.xml命名空间下的XmlTextReader类XMLTextReader------提供以快速、单向、无缓冲的方式存取XML数据。(单向意味着你只能从前往后读取XML文件,而不能逆向读取),不需要占用很多的系统资源,就能迅速的从XML文件读取数据
当使用NodeType属性时,理解节点怎么联系到XML单元是非常重要的。例如, 看下列 XML元素:
<content>test</content>
XMLtextReader 把这个元素看作 3个节点,顺序如下:
1.<content>标签被读为类型XMLNodeType.Element 节点,元素的名字“content”可从 XMLTextReader的Name属性中获得。
2.文本数据“test”被读为类型为XMLNodeType.Text的节点。数据“test” 可从XMLTextReader的Value属性中取得。
3.</content>标签被读为类型为XMLNodeType.EndElement节点。同样,元素的名称“content”可从XMLTextReader的Name属性中获得。
![C#读取XML文件的方法:(XMLTextReader与XMLDocument不同) object xmldocument](http://img.413yy.cn/images/31101031/31024546t01053e6903494f54c2.jpg)
XmlTextReader reader = newXmlTextReader(Server.MapPath("/test.xml"));string str = "";while (reader.Read()){ if (reader.NodeType==XmlNodeType.Text) {str =reader.Value; }}Label1.Text = str;
2.XMLDocument 类与XMLTextReader类不同,它在存储器中创建整个XML文档的节点树。这样就可以随机的获得XML数据(与XMLTextReader类获得数据的线性方式正好相反),并且在修改XML文件的数据和结构时,具有非常完美的灵活性。另外,XMLDocument允许执行XSLT转变,不过,这些额外的功能是以运行速度的降低和系统资源的更多占用为代价的。
XmlDocument doc = newXmlDocument();doc.Load(Server.MapPath("/test.xml"));XmlNode xn =doc.SelectSingleNode("/aspx8/article/Param/content");//如果是content是多个节点cid="1",cid="2",就可以在content[cid='1']Label2.Text = "标签2:" +xn.InnerText;