使用 childNodes 的序号function getXml(vFile){
var XmlDoc;
if (ie){
XmlDoc = new ActiveXObject('Microsoft.XMLDOM');
XmlDoc.async = false;
XmlDoc.load(vFile);
}else if (ff){
XmlDoc = document.implementation.createDocument("", "", null);
XmlDoc.load(vFile);
}
return XmlDoc;
}function initXmlData(XmlDoc){
if (XmlDoc.documentElement){
initXmlList(XmlDoc.documentElement);
}else{
setTimeout(function(){initXmlData(XmlDoc);},50);
}
}function initXmlList(Xml){
for (var i = 0 ; i < Xml.childNodes.length;i ++){
// 输出
// onclick 事件参数为 i
// 调用时直接使用 XmlDom.documentElement.childNodes[i] 得到该节点
// 得到节点后的输出略
}
}var XmlDom = getXml('filepath');
initXmlData(XmlDom);
var XmlDoc;
if (ie){
XmlDoc = new ActiveXObject('Microsoft.XMLDOM');
XmlDoc.async = false;
XmlDoc.load(vFile);
}else if (ff){
XmlDoc = document.implementation.createDocument("", "", null);
XmlDoc.load(vFile);
}
return XmlDoc;
}function initXmlData(XmlDoc){
if (XmlDoc.documentElement){
initXmlList(XmlDoc.documentElement);
}else{
setTimeout(function(){initXmlData(XmlDoc);},50);
}
}function initXmlList(Xml){
for (var i = 0 ; i < Xml.childNodes.length;i ++){
// 输出
// onclick 事件参数为 i
// 调用时直接使用 XmlDom.documentElement.childNodes[i] 得到该节点
// 得到节点后的输出略
}
}var XmlDom = getXml('filepath');
initXmlData(XmlDom);
function test(){
info="<div id=\"a2\" onclick=\"fnGetTags(this)\">"+"adfasdf"+"</div>"
//document.all.price.innerHTML="5000";
document.all.result.innerHTML=info;
}
function fnGetTags(aa){
document.all.price.innerHTML=aa.innerText;
}
然后把name作为js数组的键,当点击姓名时根据name获取js数组,然后赋值就ok了
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><title></title>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR> <SCRIPT language=JavaScript> //信息写入xml
function RWFile(){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
if(!xmlDoc.load("C:\\test.xml")){
xmlDoc.appendChild(xmlDoc.createElement("root"));
//xmlDoc.insertBefore(xmlDoc.createProcessingInstruction("xml","version='1.0'"),xmlDoc.firstChild);
}
var xname=xmlDoc.createElement("name");
xname.text=$("name").innerHTML;
var xprice=xmlDoc.createElement("price");
xprice.text=$("price").innerHTML;
var xdata=xmlDoc.createElement("data");
xdata.text=$("data").innerHTML;
var xuseful=xmlDoc.createElement("useful");
xuseful.text=$("useful").innerHTML;
var xbigprice=xmlDoc.createElement("bigprice");
xbigprice.text=$("bigprice").innerHTML;
var xaddinform=xmlDoc.createElement("addinform");
xaddinform.text=$("addinform").innerHTML;
var xpair=xmlDoc.createElement("pair");
xpair.appendChild(xname);
xpair.appendChild(xprice);
xpair.appendChild(xbigprice);
xpair.appendChild(xdata);
xpair.appendChild(xuseful);
xpair.appendChild(xaddinform);
xmlDoc.getElementsByTagName("root")[0].appendChild(xpair);
var fso=new ActiveXObject("Scripting.FileSystemObject");
rFile=fso.CreateTextFile("C:\\test.xml",1,true);
rFile.WriteLine('<?xml version="1.0"?>');
rFile.WriteLine(xmlDoc.documentElement.xml);
rFile.close();
//xmlDoc.save("C:\\u.xml");
}
//测试用
function test(){
info="<div id=\"a2\" onclick=\"fnGetTags(this)\">"+"adfasdf"+"</div>"
//document.all.price.innerHTML="5000";
document.all.result.innerHTML=info;
}
//function fnGetTags(aa){
//document.all.price.innerHTML=aa.innerText;
//}
//从xml读取信息
function RDFile(){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
if(!xmlDoc.load("C:\\test.xml")){
$("result").innerHTML="没有记录!";
return;
}
var xpair=xmlDoc.getElementsByTagName("pair");
if(xpair.length==0){
$("result").innerHTML="没有记录!";
return;
}
$("result").innerHTML=""
for(var i=0;i<xpair.length;i++) {
$("result").innerHTML+="收款人:"+"<br />"+xpair[i].firstChild.text+"<p />";
info[i]="<div id=\"a2\" onclick=\"fnGetTags(this)\">"+"</div>";
document.all.result.innerHTML=info[i];
}
return;
}
//删除xml中信息
function DELFile(n){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
if(!xmlDoc.load("C:\\test.xml")){
$("result").innerHTML="没有记录!";
return;
}
xmlDoc.async=false;
xmlDoc=xmlDoc.documentElement;
// alert(xmlDoc.xml);
var xpair=xmlDoc.getElementsByTagName("pair");
if(xpair.length==0){
$("result").innerHTML="没有记录!";
return;
}
$("result").innerHTML=""
var j=0;
for(var i=0;i<xpair.length;i++){
if(document.getElementById('name').innerHTML.replace(" ","")==xpair[i].firstChild.text){
xmlDoc.removeChild(xpair[i]);
var oFSO = new ActiveXObject("Scripting.FileSystemObject");
var oFile = oFSO.OpenTextFile("c:\\test.xml",2);
oFile.write(xmlDoc.xml);
oFile.close();
$("result").innerHTML="删除成功!";
j++;
}
}
if(j==0)
$("result").innerHTML="没有记录!";
return;
}
//从xml中查询相关信息,显示详细内容
function SRFile(){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
if(!xmlDoc.load("C:\\test.xml")){
$("result").innerHTML="没有记录!";
return;
}
var xpair=xmlDoc.getElementsByTagName("pair");
if(xpair.length==0){
$("result").innerHTML="没有记录!";
return;
}
$("result").innerHTML=""
var j=0;
for(var i=0;i<xpair.length;i++){
if(document.getElementById('name').innerHTML.replace(" ","")==xpair[i].firstChild.text){
$("result").innerHTML+="收款人:"+"<br />"+xpair[i].firstChild.text+"<br />"+"金 额:"+"<br />"+xpair[i].firstChild.nextSibling.text+"<br />"+"大写金额:"+"<br />"+xpair[i].firstChild.nextSibling.nextSibling.text+"<br />"+"日 期:"+"<br />"+xpair[i].firstChild.nextSibling.nextSibling.nextSibling.text+"<br />"+"用 途:"+"<br />"+xpair[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.text+"<br />"+"附加信息:"+"<br />"+xpair[i].lastChild.text+"<p />";
j++;
}
}
if (j==0)
$("result").innerHTML="没有记录!";
return;
}function fnGetTags(aa){
document.all.price.innerHTML=aa.innerText;
// document.all.name.innerHTML=aa.innerText;
}</SCRIPT><link rel="shortcut icon" href="favicon.ico" >
<STYLE>
BODY {}
</STYLE>
</HEAD>
<!--分栏-->
<BODY bottomMargin=0 leftMargin=0 topMargin=0 scroll=no rightMargin=0 scrolling=no >
<div id=bbs_left style="Z-INDEX: 3; VISIBILITY: inherit;WIDTH:150px; HEIGHT:100%; float:left;frameBorder=0 scrolling=no target="main">
<style type="text/css">
<!--
body {
overflow-x:hidden;
overflow-y:auto;
}
-->
</style><!--显示滚动条,与结果信息-->
<DIV style="OVERFLOW: scroll; WIDTH: 150px;HEIGHT: 100%; ">
<p><div id="result"></p></div></DIV><!--分栏条-->
<!--<IFRAME
style="Z-INDEX: 2; VISIBILITY: inherit; WIDTH: 180px; HEIGHT: 100%" src="left.htm" frameBorder=0
scrolling=yes target="main"></IFRAME>--></div>
<div style="background-color:#005fbd;width:5px;float:left;height:100%;CURSOR: hand;padding:300px 0px 0px 0px;" id=menuSwitch onclick=switchSysBarl()><img src="img/menu_close.gif" name="makeleft" width="10" height="0" border="0" id="makeleft" /></div><br><br><br><br><br>
<!--建表,背景图标-->
<table border="0" border width=850 height=300 align=center background="c:\\1.jpg" ><!--<tr> <td width="56" ><strong>金 额:</strong></td></tr> -->
<tr><td><div contenteditable="true" id="price" style="position:relative; top:195px;left:100px; width: 110px; height: 20px; border: 1px;
border-color: Green; border-style: none;FONT-SIZE:13PX"></div></td></tr>
<!--<tr><td width="56" ><strong>日 期:</strong></td></tr> -->
<tr><td><div contenteditable="true" id="data" style="position:relative; top:130px;left:102px; width: 120px; height: 20px; border: 1px;
border-color: Green; border-style: none;FONT-SIZE:13PX"></div></td></tr>
<!--<tr> <td width="56" ><strong>用 途:</strong></td></tr> -->
<tr><td><div contenteditable="true" id="useful" style="position:relative; top:166px;left:100px; width: 110px; height: 20px; border: 1px;
border-color: Green; border-style: none ;overflow:hidden;FONT-SIZE:13PX"></div></td></tr>
<tr><td ><div contenteditable="true" id="bigdata" style="position:relative; top:-40px;left:370px;width: 200px; height: 20px; border: 1px;
border-color: Green; border-style: none ;overflow:hidden;FONT-SIZE:13PX"></div></td></tr>
<!--<tr><td width="56" ><strong>收款人:</strong></td></tr> -->
<tr><td><div contenteditable="true" id="name" style="position:relative; top:-41px;left:310px;width: 285px; height: 20px; border: 1px;
border-color: Green; border-style: none ;overflow:hidden;FONT-SIZE:13PX"></div></td></tr> </table>
<br>
<!--将按钮放在一个span里,以便隐藏用-->
<span id="span1">
<DIV>
<OBJECT id=wb height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<INPUT onclick=javascript:printit() type=button value=打印
name=button_print /> <INPUT onclick=javascript:printsetup(); type=button value=打印页面设置
name=button_setup /> <INPUT onclick=javascript:printpreview(); type=button value=打印预览
name=button_show /> <!--<button onclick='document.execCommand("saveAs")'>另存为...</button> --><input type="button" value="写入记录" onclick="RWFile()" />
<input type="button" value="记录列表" onClick="RDFile()" />
<input type="button" value="删除记录" onClick="DELFile()" />
<input type="button" value="详细记录" onClick="SRFile()" />
<input type="button" value="测试" onClick="test()" />
<!--<input type="button" value="记录" onClick="xbd(321456)" />--></DIV><br><br>
</span>
</BODY></HTML>
<div id=group>
</div>
</body>
<script>
var ie = (typeof window.ActiveXObject != 'undefined');
var ff = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
if (!root){var root='';}function getXml(vFile){
var XmlDoc;
if (ie){
XmlDoc = new ActiveXObject('Microsoft.XMLDOM');
XmlDoc.async = false;
XmlDoc.load(vFile);
}else if (ff){
XmlDoc = document.implementation.createDocument("", "", null);
XmlDoc.load(vFile);
}
return XmlDoc;
}function initXmlData(XmlDoc){
if (XmlDoc.documentElement){
initXmlList(XmlDoc.documentElement);
}else{
setTimeout(function(){initXmlData(XmlDoc);},50);
}
}function initXmlList(Xml){
var obj = document.getElementById('group');
for (var i = 0 ; i < Xml.childNodes.length;i ++){
var node = Xml.childNodes[i];
var divObj = document.createElement('div');
divObj.innerHTML = node.childNodes[0].nodeName + " : " + node.childNodes[0].childNodes[0].nodeValue;
divObj.setAttribute('Node',i)
divObj.style.cursor = 'pointer';
divObj.onclick = function(){
alert(Xml.childNodes[this.getAttribute('Node')].childNodes[1].childNodes[0].nodeValue);
}
obj.appendChild(divObj);
// 输出
// onclick 事件参数为 i
// 调用时直接使用 XmlDom.documentElement.childNodes[i] 得到该节点
// 得到节点后的输出略
}
}var XmlDom = getXml('test.xml');
initXmlData(XmlDom);
</script>简单的写了一个
为null或不是对象~