Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取XML文件标记if(resOb.readyState==4)_Javascript_Xml - Fatal编程技术网

Javascript 读取XML文件标记if(resOb.readyState==4)

Javascript 读取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文件,我无法读取标记,这是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>
没有警报。我看不懂第一个标签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]);
    }
  }