|
主题: 怎么简单的读取XML文件?
|
沉浮
职务:普通成员
等级:1
金币:0.0
发贴:7
|
#12006/1/5 23:17:40
网上搜了一下,看了以前(.net 1.X)别人写的如何用XmlTextReader,xPath...读XML文件 自己试了试没成功,是2.0改了? 比如说我有这么个XML文件
<?xml version="1.0" encoding="utf-8"?>
<shujvji>
<shujv>
<name>新浪</name>
<href>www.sina.com</href>
</shujv>
<shujv>
<name>搜狐</name>
<href>www.sohu.com</href>
</shujv>
</shujvji> 如何简单又快速的读出name和herf节点中的文本呢? 谁能用C#给点提示?
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#22006/1/6 9:28:26
XmlDocument xml = new XmlDocument(); xml.Load(Server.MapPath("test.xml"));
XmlNodeList list = xml.GetElementsByTagName("shujv"); foreach (XmlNode nd in list) { string strName = nd.ChildNodes[0].value; string strHref = nd.ChildNodes[1].value; }
非常大鱼
|
沉浮
职务:普通成员
等级:1
金币:0.0
发贴:7
|
#32006/1/6 20:49:42
不能实现! XmlNodeList list = xml.GetElementsByTagName("shujv"); 这行有问题!
再问下,怎么往XML里写东西? 如果我想再添加一个“雅虎”,“www.yahoo.com.cn” 如何加?
由于没有05的MSDN,所以只能再问了!!
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#42006/1/10 10:55:59
下面说一下创建,查询,修改等对xml操作的主要方法
'创建DOM对象 set objDom=server.CreateObject("MicroSoft.XMLDom")
'取得xml数据 '方法1 取得xml文件的xml数据 objDom.load("c:\test.xml") '方法2 取得xml数据串的数据 objDom.loadxml("<people><man name="sd"/></people>")
'创建一个节点对象 Set Newnode=objDom.CreateElement("people") '给这个节点赴值 Newnode.Text="人" ' 给这个节点添加属性 Set NewAttribute=objDom.CreateNode("attribute","name","") NewAttribute.Text= "张三" Newnode.SetAttributeNode NewAttribute '给这个节点添加子节点 Set NewnodeChild=objDom.CreateElement("address") Newnode.appendChild NewnodeChild '保存这个节点对象 objDom.appendChild Newnode objDom.save("c:\test.xml")
'查找一个节点对象 set objtofind=objdom.documentElement.SelectSingleNode("//people/man") '取出这个节点对象的 节点名,节点值,某个属性值,和全部的xml nodename=objtofind.nodename nodevalue=objtofind.text objtofind.GetAttributeNode("name").Nodevalue '属性名为name的属性值
'取出一个属性节点对象 set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name") '取出这个节点的属性名,属性值 nodeattrname=objattrtofind.nodename nodeattrvalue=objattrtofind.nodevalue
'删除一个节点对象 set objnode=objdom.documentElement.SelectSingleNode("//people/man") '要删除的节点 set objparentnode=objdom.documentElement.SelectSingleNode("//people") '要删除的节点的父节点 objparentnode.removeChild objnode
'取出一个节点的字节点集合 set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes 遍历这个集合 方法1 for each element in objnodes response.write element.nodename 字节点名 response.write element.text 字节点值 next 方法2 domlength=objnodes.length for i = 0 to domlength-1 response.write objnodes.childnodes(i).nodename 字节点名 response.write objnodes.childnodes(i).text 字节点值 next
'取出一个节点的属性集合 set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes 遍历这个集合 for each element in objnodes response.write element.nodename 属性名 response.write element.nodevalue 属性值 next
等能够熟练的运用xmldom对象来操作xml文件了,就可以享受xmlhttp对象来实现asp下的许多功能了
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#52006/1/10 10:56:26
下面说一下创建,查询,修改等对xml操作的主要方法
'创建DOM对象 set objDom=server.CreateObject("MicroSoft.XMLDom")
'取得xml数据 '方法1 取得xml文件的xml数据 objDom.load("c:\test.xml") '方法2 取得xml数据串的数据 objDom.loadxml("<people><man name="sd"/></people>")
'创建一个节点对象 Set Newnode=objDom.CreateElement("people") '给这个节点赴值 Newnode.Text="人" ' 给这个节点添加属性 Set NewAttribute=objDom.CreateNode("attribute","name","") NewAttribute.Text= "张三" Newnode.SetAttributeNode NewAttribute '给这个节点添加子节点 Set NewnodeChild=objDom.CreateElement("address") Newnode.appendChild NewnodeChild '保存这个节点对象 objDom.appendChild Newnode objDom.save("c:\test.xml")
'查找一个节点对象 set objtofind=objdom.documentElement.SelectSingleNode("//people/man") '取出这个节点对象的 节点名,节点值,某个属性值,和全部的xml nodename=objtofind.nodename nodevalue=objtofind.text objtofind.GetAttributeNode("name").Nodevalue '属性名为name的属性值
'取出一个属性节点对象 set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name") '取出这个节点的属性名,属性值 nodeattrname=objattrtofind.nodename nodeattrvalue=objattrtofind.nodevalue
'删除一个节点对象 set objnode=objdom.documentElement.SelectSingleNode("//people/man") '要删除的节点 set objparentnode=objdom.documentElement.SelectSingleNode("//people") '要删除的节点的父节点 objparentnode.removeChild objnode
'取出一个节点的字节点集合 set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes 遍历这个集合 方法1 for each element in objnodes response.write element.nodename 字节点名 response.write element.text 字节点值 next 方法2 domlength=objnodes.length for i = 0 to domlength-1 response.write objnodes.childnodes(i).nodename 字节点名 response.write objnodes.childnodes(i).text 字节点值 next
'取出一个节点的属性集合 set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes 遍历这个集合 for each element in objnodes response.write element.nodename 属性名 response.write element.nodevalue 属性值 next
等能够熟练的运用xmldom对象来操作xml文件了,就可以享受xmlhttp对象来实现asp下的许多功能了
|