Javascript 读取XML文件标记if(resOb.readyState==4)
有一个XML文件,我无法读取标记,这是XML文件data.XMLJavascript 读取XML文件标记if(resOb.readyState==4),javascript,xml,Javascript,Xml,有一个XML文件,我无法读取标记,这是XML文件data.XML <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <a>Hello</a> <b>World</b> <c> <d id="1">How are you</d> <d id="2">Where are you</d> </c>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a>Hello</a>
<b>World</b>
<c>
<d id="1">How are you</d>
<d id="2">Where are you</d>
</c>
没有警报。我看不懂第一个标签a(你好)。我可以尝试xmlDoc.getElementsByTagName(“a”)
或其他任何方法,但它不起作用。如果我说var xmlDoc=resOb.responseText代码>然后我得到整个XML作为字符串。但我只想读一些标签和属性
我想读属性为2的标签d,但我甚至不能读a。代码有什么问题?需要确保以下几点:
- 您的XML无效,它需要根节点
- 服务器发送的响应ContentType标头应为“text/xml”
- 直接通过resOb.responseXML检索文档,就像在代码片段中一样
然后它应该像您期望的那样工作。这是无效的XML;您需要有一个根元素。即使我有一个根元素,它也不起作用。服务器发送的响应ContentType标头应为“text/xml”-我如何检查或如何设置?这需要在发送响应的web服务器上完成。你能控制它吗?它使用什么语言,什么类型的服务器?这让它很有趣:)resOb.getResponseHeader(“内容类型”)是什么;说什么?
function handleResponse(){
if(resOb.readyState==4){
var xmlDoc = resOb.responseXML;
alert(xmlDoc.getElementsByTagName("a")[0]);
}
}