xml文件如下:
<BADI>
<Objects>
<Object ElementType="tv">
<Property Name="Ma">0</Property>
<Property Name="Re">1</Property>
<Property Name="Rs">2</Property>
</Object>
<Object ElementType="music">
<Property Name="Ty">3</Property>
<Property Name="De">4</Property>
<Property Name="Au">5</Property> </Object>
<Objects>
<BADI>请问如何分别解析出tv和music中的Property中的值,即0,1,2和3,4,5。
例如能否通过music就能解析出3,4,5.
<BADI>
<Objects>
<Object ElementType="tv">
<Property Name="Ma">0</Property>
<Property Name="Re">1</Property>
<Property Name="Rs">2</Property>
</Object>
<Object ElementType="music">
<Property Name="Ty">3</Property>
<Property Name="De">4</Property>
<Property Name="Au">5</Property> </Object>
<Objects>
<BADI>请问如何分别解析出tv和music中的Property中的值,即0,1,2和3,4,5。
例如能否通过music就能解析出3,4,5.
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(路径);
arr = xmlDoc.selectSingleNodes("/xx/xx/region/@name").value;
@name就是属性值
读取的结果是一个数组,lz再根据数组取值就ok
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
</head>
<body><script type="text/javascript">
var xmlDoc=null;
if (window.ActiveXObject)
{
// code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{
// code for Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
if (xmlDoc!=null)
{
xmlDoc.async=false;
xmlDoc.load("a.xml");
}
var s = xmlDoc.getElementsByTagName("Objects");
var music = xmlDoc.selectNodes("BADI/Objects/Object[@ElementType='music']/Property/text()");
var tv = xmlDoc.selectNodes("BADI/Objects/Object[@ElementType='tv']/Property/text()");
for(var i=0;i<music.length;i++){
alert(music[i].text);
}
for(var i=0;i<tv.length;i++){
alert(tv[i].text);
}</script>
</body>
</html>
<BADI>
<Objects>
<Object ElementType="tv">
<Property Name="Ma">0</Property>
<Property Name="Re">1</Property>
<Property Name="Rs">2</Property>
</Object>
<Object ElementType="music">
<Property Name="Ty">3</Property>
<Property Name="De">4</Property>
<Property Name="Au">5</Property>
</Object>
</Objects>
</BADI><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>hello</title>
<style>
#test{
display:none;
margin-top:-10px;
}</style>
<script src="jquery-1.3.2.js"></script>
<script type="text/javascript">
function NewInfo(){
//alert("1")
var xmlDom; //XML DOM object
var xmlFile="ff.xml"; //xml file name
loadXML = function(fileRoute){
xmlDoc=null;
if (window.ActiveXObject){
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
}else if (document.implementation && document.implementation.createDocument){
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",fileRoute,false);
xmlhttp.send(null);
var xmlDoc = xmlhttp.responseXML;
}
else {xmlDoc=null;}
return xmlDoc;
}
//alert(xmlFile)
xmlDom=loadXML(xmlFile);
var newsList2=xmlDom.getElementsByTagName("Objects");
//alert(newsList2.length)
var a_Url = newsList2[0].getElementsByTagName("Object")['@ElementType=music'].childNodes[0].nodeValue;
alert(a_Url)
}</script></script>
</head><body onload="NewInfo()"></body>
</html>
<BADI>
<Objects>
<Object ElementType="tv">
<Property Name="Ma">0</Property>
<Property Name="Re">1</Property>
<Property Name="Rs">2</Property>
</Object>
<Object ElementType="music">
<Property Name="Ty">3</Property>
<Property Name="De">4</Property>
<Property Name="Au">5</Property>
</Object>
</Objects>
</BADI><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>hello</title>
<style>
#test{
display:none;
margin-top:-10px;
}</style>
<script src="jquery-1.3.2.js"></script>
<script type="text/javascript">
function NewInfo(){
//alert("1")
var xmlDom; //XML DOM object
var xmlFile="ff.xml"; //xml file name
loadXML = function(fileRoute){
xmlDoc=null;
if (window.ActiveXObject){
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
}else if (document.implementation && document.implementation.createDocument){
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",fileRoute,false);
xmlhttp.send(null);
var xmlDoc = xmlhttp.responseXML;
}
else {xmlDoc=null;}
return xmlDoc;
}
//alert(xmlFile)
xmlDom=loadXML(xmlFile);
var newsList2=xmlDom.getElementsByTagName("Objects");
//alert(newsList2.length)
var a_Url = newsList2[0].getElementsByTagName("Object")['@ElementType=music'].childNodes[0].nodeValue;
alert(a_Url)
}</script></script>
</head><body onload="NewInfo()"></body>
</html>
例如:<Property Name="Au"></Property>
如果要的道Au= 如何解析,selectNodes把空值忽略了吧。