请教JS解析XML的问题

chengang1995445 2004-11-17 11:42:24
这是我的JS

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>表格</title>

<script language=javascript1.2>
var col = null;//列
var row = null;//行

function initTable(){
var doc = new ActiveXObject("MSXML2.DOMDocument.3.0");
doc.load("comyany.xml");

var n = doc.getElementsByTagName("COLTYPE");
for(var g = -1; g < n.getLength; g++){
var elem = n.item(g);
for (var h = 0; h < elem.getAttributes().getLength(); h++) {
col = elem.getAttributes().item(h).getNodeName();

document.write(col);
}

}

var n1 = doc.getElementsByTagName("ROW");
for (var i = 0; i < n1.getLength; i++) {
var node = n1.item(i);
for (var j = 0; j < node.getAttributes().getLength(); j++) {
row = node.getAttributes().item(j).getNodeName();
document.write(row);
}
}

}
initTable();
</script>
</head>
</html>

这是我的XML文件

<?xml version="1.0" encoding="GB2312"?>
<ROOT>
<COLTYPE CID="NUMBER" CNAME="VARCHAR2" DESCPT="VARCHAR2" PID="NUMBER"></COLTYPE>
<ROW CID="1" CNAME="2" DESCPT="3" PID="4"></ROW>
<ROW CID="3" CNAME="j2ee" DESCPT="j2ee美女组" PID="1"></ROW>
<ROW CID="4" CNAME="集成" DESCPT="软硬集成" PID="1"></ROW>
<ROW CID="5" CNAME="李三" DESCPT="系统组李三" PID="2"></ROW>
<ROW CID="6" CNAME="阳华" DESCPT="j2ee组阳华" PID="3"></ROW>
<ROW CID="7" CNAME="成功" DESCPT="j2ee组成功" PID="3"></ROW>
<ROW CID="8" CNAME="国际" DESCPT="j2ee组三际" PID="3"></ROW>
<ROW CID="9" CNAME="分公司" DESCPT="湖南长沙" PID="1"></ROW>
</ROOT>

我想请问,为什么我的JS不能进入这个for(var g = -1; g < n.getLength; g++)循环里面
为什么我的得不到<COLTYPE CID="NUMBER" CNAME="VARCHAR2" DESCPT="VARCHAR2" PID="NUMBER"></COLTYPE>
里面的那些属性
...全文
231 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梅雪香 2004-11-26
  • 打赏
  • 举报
回复
opts.value=children.item(i).getAttribute("value");
梅雪香 2004-11-17
  • 打赏
  • 举报
回复
一个从xml读数写到select中的函数
/***********************************************
函数名: funGetValues1
作者:赵晓阳
做成日期: 2004-02-17
修改者/日期:
参数: name: 列表名
srcDlt: 列表ID
code: 代码
功能描述:根据参数查数据库中的列表项
************************************************/
function funGetValues(name,srcDlt,cncode,code,key)
{
var sels=srcDlt;
if(sels.tagName!="SELECT")
sels=srcDlt.parentElement.parentElement.cells[0].children[0];

sels.innerHTML="";
var xmldoc = new ActiveXObject("msxml");
var xmlsrc = "/scheduler/jsp/include/OptKeyNameXml.jsp?Name="+name+"&Code="+code+"&CnCode="+cncode+"&Key="+key;
xmldoc.URL = xmlsrc;
var root=xmldoc.root;
var children=root.children;
//<!--没有符合条件的记录时,提示-->
if(children==null){
var opts=document.createElement("OPTION");
sels.options.add(opts);
opts.value="";
opts.text="";
sels.options[0].selected;
sels.focus();
return false;
}
//<!--将结果写入ShipId下拉列表框-->
var rootLength=children.length;
for(var i=0;i<rootLength;i++)
{
var opts=document.createElement("OPTION");
sels.options.add(opts);
opts.value=children.item(i).getAttribute("value");
opts.code=children.item(i).getAttribute("code");
opts.name=children.item(i).getAttribute("name");
opts.parentId=children.item(i).getAttribute("ParentId");
opts.text=children.item(i).getAttribute("name");
}
sels.options[0].selected;
sels.focus();
return false;
}
梅雪香 2004-11-17
  • 打赏
  • 举报
回复
用xsl
CSDN就是xml+xsl写的,研究一下吧
chengang1995445 2004-11-17
  • 打赏
  • 举报
回复
zhaoxiaoyang
你的加载XML文件是怎么能得到那个里面的属性呢?
我现在做的是一个需要解析XML的中间键,但是我一直得不到里面的属性

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧