这样的XML文件,如何读取每个节点?

在元素里有""符号,有等式的,怎么读取呢?
比如在:http://www.ccw.com.cn/htm/app/aprog/01_3_28_4.asp 上所讲的例子。

##############################

<用户资料>

1<field id="姓名" taborder="1">
2<field_value>孟子</field_value>
3</field>
1<field id="性别" taborder="2">
2<field_value>男</field_value>
3</field>
1<field id="单位名称" taborder="3">
2<field_value>中国网络技术发展公司北京分公司</field_value>
3</field>
1<field id="详细地址" taborder="4">
2<field_value>北京市嘉里中心102层</field_value>
3</field>
1<field id="电话" taborder="5">
2<field_value>1391139136*</field_value>
3</field>
1<field id="电子邮件" taborder="6">
2<field_value>[email protected]</field_value>
3</field>

##############################

假如我要读取这个XML文档里的每个节点,怎么样读呢?
---------------------------------------------------------------

xsl:value-of select="//field/@id"
---------------------------------------------------------------

1<xsl:for-each select="/用户资料/field ">
2<xsl:value-of select="@id"></xsl:value-of>
3<xsl:value-of select="field_value"></xsl:value-of>
4</xsl:for-each>

---------------------------------------------------------------

use dom

 1   
 2set xmldoc=.......   
 3  
 4.....   
 5  
 6set nodes=xmldoc.selectNodes("//field")   
 7for i=0 to nodes.length-1   
 8response.write nodes(i).getAttribute("id")   
 9response.write ":"   
10response.write nodes(i).firstChild.text   
11response.write "

<br/>

1"   
2next   

---------------------------------------------------------------

1   
2set xmldoc=.......   
3  
4.....   
5  
6set node=xmldoc.selectSinglenode("//field[@id='电话']")   
7response.write node.firstchild.text   

---------------------------------------------------------------

检查你的xml文件,确定xml文件路径正确

 1   
 2set xmldoc = server.createObject("Microsoft.XMLDOM")   
 3strSourceFile = Server.MapPath("/") & "\userdata.xml"   
 4if not xmldoc.Load(strSourceFile) then   
 5Response.Write "装载数据错误!"   
 6Response.End   
 7end if   
 8set node=xmldoc.selectSinglenode("//field[@id='电话']")   
 9  
10if lcase(typename(node))="nothing" then   
11Response.Write "节点查找错误!"   
12Response.End   
13end if   
14  
15phone=node.firstchild.text   
1<p>```
2=phone
3```</p>
Published At
Categories with Web编程
comments powered by Disqus