我前几天也在做这个列子,原理一样。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script type="text/javascript">
function readXml(){
//创建一个xml节点
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;//设置异步调用
xmlDoc.load("NewFile.xml"); //加载xmlwenj
var items=xmlDoc.selectNodes("/camList/item"); //读取节点,相等于根结点
var arr = [];
//循环读取,把属性保存在一个对象里,然后把对象放入数组
for(var i=0;i<items.length;i++)
{
var obj={};
obj.camId = items(i).childNodes(0).text; //第一个节点
obj.camName = items(i).childNodes(1).text;
arr.push(obj);
}
var oSelect1=document.getElementById("showCamera1"); //获取网页里的下拉框对象
var oSelect2=document.getElementById("showCamera2");
var oSelect3=document.getElementById("showCamera3");
var oSelect4=document.getElementById("showCamera4");
//排序
var newArr = arr.sort(function(x,y){return x.order>y.order?1:-1;});
for(var i=0;i<newArr.length;i++)
{
//document.write("order:"+newArr[i].camId+" title:" + newArr[i].camName +"<br />");
var oOption=document.createElement("OPTION");
oSelect1.options.add(oOption);
oOption.innerText=newArr[i].camName;
oOption.value=newArr[i].camId;
oSelect2.options.add(new Option(newArr[i].camName,newArr[i].camId));
oSelect3.options.add(new Option(newArr[i].camName,newArr[i].camId));
oSelect4.options.add(new Option(newArr[i].camName,newArr[i].camId));
}
}
function save(){
var oSelect1=document.getElementById("showCamera1"); //获取网页里的下拉框对象
var oSelect2=document.getElementById("showCamera2");
var oSelect3=document.getElementById("showCamera3");
var oSelect4=document.getElementById("showCamera4");
var tempksrq=oSelect1.options[oSelect1.selectedIndex].value;
var texts=oSelect1.options[oSelect1.selectedIndex].text;
alert(tempksrq);
alert(texts);
}
</script>
<head>
<title>nodesXml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body onload="readXml()">
<select name="select1" size="1" class="selectclass" id="showCamera1" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select2" size="1" class="selectclass" id="showCamera2" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select3" size="1" class="selectclass" id="showCamera3" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select4" size="1" class="selectclass" id="showCamera4" onmousedown="">
<option>请选择城市</option>
</select>
<input name="btn_Confirm" type="submit" class="btn" id="btn_Confirm4" value="确定" onclick="save()"/>
</body>
</html>
xml:
<?xml version="1.0" encoding="UTF-8"?>
<camList>
<item>
<camId>sgsgsfhshdfhdhdhdh</camId>
<camName>陕西</camName>
</item>
<item>
<camId>11111111111111111</camId>
<camName>黔江</camName>
</item>
<item>
<camId>22222222222222222</camId>
<camName>重庆</camName>
</item>
<item>
<camId>33333333333333333</camId>
<camName>厦门</camName>
</item>
<item>
<camId>44444444444444444</camId>
<camName>黑龙江</camName>
</item>
</camList>
<html>
<script type="text/javascript">
function readXml(){
//创建一个xml节点
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;//设置异步调用
xmlDoc.load("NewFile.xml"); //加载xmlwenj
var items=xmlDoc.selectNodes("/camList/item"); //读取节点,相等于根结点
var arr = [];
//循环读取,把属性保存在一个对象里,然后把对象放入数组
for(var i=0;i<items.length;i++)
{
var obj={};
obj.camId = items(i).childNodes(0).text; //第一个节点
obj.camName = items(i).childNodes(1).text;
arr.push(obj);
}
var oSelect1=document.getElementById("showCamera1"); //获取网页里的下拉框对象
var oSelect2=document.getElementById("showCamera2");
var oSelect3=document.getElementById("showCamera3");
var oSelect4=document.getElementById("showCamera4");
//排序
var newArr = arr.sort(function(x,y){return x.order>y.order?1:-1;});
for(var i=0;i<newArr.length;i++)
{
//document.write("order:"+newArr[i].camId+" title:" + newArr[i].camName +"<br />");
var oOption=document.createElement("OPTION");
oSelect1.options.add(oOption);
oOption.innerText=newArr[i].camName;
oOption.value=newArr[i].camId;
oSelect2.options.add(new Option(newArr[i].camName,newArr[i].camId));
oSelect3.options.add(new Option(newArr[i].camName,newArr[i].camId));
oSelect4.options.add(new Option(newArr[i].camName,newArr[i].camId));
}
}
function save(){
var oSelect1=document.getElementById("showCamera1"); //获取网页里的下拉框对象
var oSelect2=document.getElementById("showCamera2");
var oSelect3=document.getElementById("showCamera3");
var oSelect4=document.getElementById("showCamera4");
var tempksrq=oSelect1.options[oSelect1.selectedIndex].value;
var texts=oSelect1.options[oSelect1.selectedIndex].text;
alert(tempksrq);
alert(texts);
}
</script>
<head>
<title>nodesXml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body onload="readXml()">
<select name="select1" size="1" class="selectclass" id="showCamera1" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select2" size="1" class="selectclass" id="showCamera2" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select3" size="1" class="selectclass" id="showCamera3" onmousedown="">
<option>请选择城市</option>
</select>
<select name="select4" size="1" class="selectclass" id="showCamera4" onmousedown="">
<option>请选择城市</option>
</select>
<input name="btn_Confirm" type="submit" class="btn" id="btn_Confirm4" value="确定" onclick="save()"/>
</body>
</html>
xml:
<?xml version="1.0" encoding="UTF-8"?>
<camList>
<item>
<camId>sgsgsfhshdfhdhdhdh</camId>
<camName>陕西</camName>
</item>
<item>
<camId>11111111111111111</camId>
<camName>黔江</camName>
</item>
<item>
<camId>22222222222222222</camId>
<camName>重庆</camName>
</item>
<item>
<camId>33333333333333333</camId>
<camName>厦门</camName>
</item>
<item>
<camId>44444444444444444</camId>
<camName>黑龙江</camName>
</item>
</camList>
private String show;
private String title;
private String author;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getShow() {
return show;
}
public void setShow(String show) {
this.show = show;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
<?xml version="1.0" encoding="GBK"?> <books>
<!--第一次写xml文件-->
<book show="yes">
<title>java </title>
<author>张三 </author>
</book>
<book show="no">
<title>c# </title>
<author>李四 </author>
</book>
<book show="yes">
<title>sql bb </title>
<author>王五 </author>
</book>
<owner>beibei </owner>
</books>
//解析XML 文件,获取里面的值
public List getInfo()
{
List booklist=new ArrayList();
try {
SAXReader saxreader=new SAXReader();
Document document=saxreader.read(new File("f:\\bookxml.xml"));
List list=document.selectNodes("/books/book");
Iterator iter=list.iterator();
while(iter.hasNext())
{
BookTest book=new BookTest();
Element bookelement=(Element) iter.next();
book.setShow(bookelement.attributeValue("show"));
Element title=bookelement.element("title");
book.setTitle(title.getText());
Element author=bookelement.element("author");
book.setAuthor(author.getText());
booklist.add(book);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return booklist;
}