bimatngoinhama
02-18-2006, 02:36 PM
I do not know the reason.
In data.xml file, when i do not put html tag like
<?xml version="1.0" encoding="UTF-8"?>
<data>
<pets>
<pet>Cat</pet>
<pet>Dog</pet>
<pet>Fish</pet>
</pets>
</data>
The code below will work
<script type="text/javascript">
function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
var result=req.responseXML;
if (!result.documentElement && req.responseStream) {
result.load(req.responseStream);
}
var ev = result.getElementsByTagName('pet');
document.getElementById("cd2").innerHTML=result.getElementsByTagName("pet").length;
} else {
alert("There was a problem retrieving the XML data:\n" +
req.statusText);
}
}
}
</script>
<body>
<a href="#a" onclick="loadXMLDoc('data.xml')">Test</a>
<div id="cd2"></div>
</body>
It returns 3 Ok
But when I try to change data.xml like
<?xml version="1.0" encoding="UTF-8"?>
<data>
<pets>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td><pet>Cat</pet></td>
</tr>
<tr>
<td><pet>Dog</pet></td>
</tr>
<tr>
<td><pet>Fish</pet></td>
</tr>
</table>
</pets>
</data>
The script will return 0 :( Maybe it does not find <pet> element? What is different here? Please help me how to solve the problem Thanks in advance
In data.xml file, when i do not put html tag like
<?xml version="1.0" encoding="UTF-8"?>
<data>
<pets>
<pet>Cat</pet>
<pet>Dog</pet>
<pet>Fish</pet>
</pets>
</data>
The code below will work
<script type="text/javascript">
function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
var result=req.responseXML;
if (!result.documentElement && req.responseStream) {
result.load(req.responseStream);
}
var ev = result.getElementsByTagName('pet');
document.getElementById("cd2").innerHTML=result.getElementsByTagName("pet").length;
} else {
alert("There was a problem retrieving the XML data:\n" +
req.statusText);
}
}
}
</script>
<body>
<a href="#a" onclick="loadXMLDoc('data.xml')">Test</a>
<div id="cd2"></div>
</body>
It returns 3 Ok
But when I try to change data.xml like
<?xml version="1.0" encoding="UTF-8"?>
<data>
<pets>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td><pet>Cat</pet></td>
</tr>
<tr>
<td><pet>Dog</pet></td>
</tr>
<tr>
<td><pet>Fish</pet></td>
</tr>
</table>
</pets>
</data>
The script will return 0 :( Maybe it does not find <pet> element? What is different here? Please help me how to solve the problem Thanks in advance