以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  XML如何获得一个元素,或者一个节点的唯一值?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=7305)


--  作者:newrocky
--  发布时间:5/9/2004 9:39:00 AM

--  XML如何获得一个元素,或者一个节点的唯一值?
如题:

比如,我要做一个电话本
有phonebook.xml文件如下:
<?xml version="1.0" encoding="gb2312" ?>
<phonebook>
 <person>
  <name>罗君</name>
  <office_phone>*806</office_phone>
 </person>
 <person>
  <name>ccc</name>
  <office_phone>*805</office_phone>
 </person>
</phonebook>
另有index.asp文件如下:
<%
Dim xmlDom,rootNode
xmlFileName = server.mappath("phonebook.xml")
Set xmlDom = Server.CreateObject("Microsoft.XMLDOM")
dim bValue
dim id,name,office_phone,home_phone,mobile
'载入XML文件
bValue=xmlDom.load(xmlFileName)
'获取ROOT根节点,在这里就是phonebook
Set rootNode = xmlDom.documentElement
%>
 <table width="500" bordercolor="#FFFFFF" border="1" CELLPADDING="1" CELLSPACING="0">
  <tr bgcolor="#24682c" style="color:white;font-size:11pt;" align="center" ><td>姓名</td><td>办公室电话</td></tr>
  <%
  '循环选出每个person
  AllNodesNum = rootNode.childNodes.length - 1
  for i = 0 to AllNodesNum
   '获取每个person节点中的数据
   name=rootNode.childNodes.item(i).childNodes.item(0).text
   office_phone=rootNode.childNodes.item(i).childNodes.item(1).text
   if(i/2=cint(i/2)) then
    bgColor="ffffff"
   else
    bgColor="eeeeee"
   end if
   %>
   <tr class="txt9pt" align="center" BGCOLOR="#<%=bgColor%>"><td><a href="#" onclick="chkNode()"><%=name%></td><td><%=office_phone%></td></tr>
   <%
  next
  %>
 </table>
<script>
  function chkNode()
  {
  //如何确定选中的XML元素或节点?
  }
</script>


--  作者:newrocky
--  发布时间:5/9/2004 10:52:00 AM

--  
还是没人来理我阿
--  作者:stonewx
--  发布时间:5/9/2004 2:12:00 PM

--  
你可以记下当前节点的XPath路径

也可以为每一个节点增加一个属性,如ID,然后,单击时用selectsinglenode获取选定的节点


--  作者:newrocky
--  发布时间:5/10/2004 8:33:00 AM

--  
如何做呢?
能举个例子吗?
--  作者:宇宙人
--  发布时间:5/10/2004 5:51:00 PM

--  
><a href="#" onclick="chkNode(<%=name%>)"><%=name%></td><td><%=office_phone%></td></tr>
然后在<script language="javascript">
  function chkNode(name)
  {
  //下面你就可以进行操作了
  }
</script>

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms