以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  [求助]ASP 读XML 文件  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=40973)


--  作者:JennyZhang
--  发布时间:12/8/2006 10:22:00 AM

--  [求助]ASP 读XML 文件
请教,有如下的XML文件

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type='text/xsl'?>
<MngSysErr>
 <Title><Ttl_Name>Line System</Ttl_Name></Title>
   <MAP_NAME>NNTT</MAP_NAME>
   <ALARM>
      <ARM_POINT>9617</ARM_POINT>
      <ARM_STATUS>141</ARM_STATUS>
      <ARM_NODE_NAME>AAA</ARM_NODE_NAME>
      <ARM_ROUTE_NO>Port 1</ARM_ROUTE_NO>
   </ALARM>
   <ALARM>
      <ARM_POINT>9618</ARM_POINT>
      <ARM_STATUS>142</ARM_STATUS>
      <ARM_NODE_NAME>BBB</ARM_NODE_NAME>
      <ARM_ROUTE_NO>Port 2</ARM_ROUTE_NO>
   </ALARM>
</MngSysErr>

我想读出所有<ALARM></ALARM>之间的内容,该怎么办?


--  作者:JennyZhang
--  发布时间:12/8/2006 1:15:00 PM

--  
o,自己弄明白了.
写出来和大家一起分享.当然希望有更好的方法.等待!

Set objRootsite=objXML.documentElement.selectNodes("ALARM")
AllNodesNum=objRootsite.length-1
For i=0 to AllNodesNum
  POINT=objRootsite(i).childNodes.item(0).text
  '同理,可以取其他的项.
next


--  作者:wangyuelee
--  发布时间:4/22/2007 2:30:00 PM

--  回复
可以了,我也做出来了
--  作者:peachpig
--  发布时间:5/2/2007 10:53:00 AM

--  
<%
strSourceFile = Server.MapPath("introduce.xml")
 Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 objXML.load(strSourceFile)
 Set objRootsite = objXML.documentElement.selectSingleNode("style")

AllNodesNum=objRootsite.length-1
For i=0 to AllNodesNum
  title=objRootsite(i).childNodes.item(0).text
  '同理,可以取其他的项.
  contect=objRootsite(i).childNodes.item(1).text
  %>


我这样写他出现的错误是:
错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: 'objRootsite'
/soft16/course_introduce/introduce.asp, 第 7 行

哪位大侠帮忙看看,谢谢了!


--  作者:peachpig
--  发布时间:5/2/2007 1:18:00 PM

--  
自己搞定了,居然这样就可以了,感觉跟上面的逻辑是一样的
<%
strSourceFile = Server.MapPath("introduce.xml")
 Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 objXML.load(strSourceFile)
 Set objRootsite = objXML.documentElement.selectSingleNode("styles")

AllNodesNum=objRootsite.childNodes.length-1
For i=0 to AllNodesNum
   id=objRootsite.childNodes.item(i).childNodes.item(0).text
  title=objRootsite.childNodes.item(i).childNodes.item(1).text
  '同理,可以取其他的项.
  contect=objRootsite.childNodes.item(i).childNodes.item(2).text
  %>


--  作者:peachpig
--  发布时间:5/5/2007 6:22:00 PM

--  
发现objRootsite只能是第二个节点, 不知道什么原因.
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
54.688ms