【发布时间】:2011-06-11 13:46:14
【问题描述】:
你好我有问题解析 xml.. 我有这样的 xml:
<tejemahan>
<kategori> komputer </kategori>
<hasil> aplikasi komputer </hasil>
</terjemahan>
已编辑: 上面的 xml 我是这样得到的:
var url="http://localhost:8080/inlinetrans/api/translate/"+userSelection+"/"+hasilStemSel+"/"+hasilStem;
var client = new XMLHttpRequest();
client.open("GET", url, false);
client.setRequestHeader("Content-Type", "text/plain");
client.send(null);
if(client.status == 200)
alert("the request success"+client.responseText);
else
alert("the request isn't success"+client.status+""+client.statusText)
}
这是我解析上述 xml 文件的代码:
this.loadXML = function (){
var url = http://localhost:8080/coba/api/artikan/"+sel+"/"+hasilStemSel+"/"+hasilStem
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.load("url");
xmlDoc.onload= this.readXML;
}
this.readXML = function() {
alert(xmlDoc.documentElement.tagName);
alert(xmlDoc.documentElement.childNodes[0].tagName);
alert(xmlDoc.documentElement.childNodes[1].tagName);
alert(xmlDoc.documentElement.childNodes[0].textContent);
alert(xmlDoc.documentElement.childNodes[1].textContent);
}
我可以执行这段代码
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.load("url");
但是为什么我不能执行这段代码 xmlDoc.load = this.readXML ???
【问题讨论】:
-
能否提供调用loadXML的代码?
-
我在向服务器发出请求后调用 loadXML
-
您为什么使用这种方法?跨浏览器更好地支持 XHR。 “document.load() 是旧版本的 W3C DOM Level 3 Load & Save 模块的一部分。可以与 document.async 一起使用来指示请求是同步的还是异步的(默认)。至少从 Gecko 开始1.9,这不再支持文档的跨站点加载(使用 XMLHttpRequest 代替)。” — developer.mozilla.org/en/DOM/document.load
-
我已经回答了您的问题并向您展示了如何从您的
XMLHttpRequest获取 XML 文档。通过使用其responseXML属性,您无需进行任何解析。
标签: javascript firefox xml-parsing