gpt4 book ai didi

Javascript XML 解析不工作

转载 作者:行者123 更新时间:2023-11-29 22:13:20 26 4
gpt4 key购买 nike

我在这本应该是一个简单的问题上已经快无计可施了。我正在尝试使用 javascript 来解析一个非常简单的 XML 文档中的值并将其返回到一个非常简单的 HTML 文档中。我的问题是我的脚本拒绝这样做。XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<man>
<name>Nicholas</name>
</man>
<man>
<name>Peter</name>
</man>
</root>

这完全是为了我自己的教育,因此是无目的的标签。

JavaScript:

<script>
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","dname",false);
xmlhttp.send();
return xmlhttp.responseXML;
}

xmlDoc = loadXMLDoc("https://dl.dropboxusercontent.com/u/22818342/Testing/javascript_test4.xml");

x = xmldoc.getElementsByTagName("name");

var content = function()
{
document.write(x[0].childNodes[0].nodeValue);
};
</script>

请注意,我正在使用我的 Dropbox 公共(public)文件夹来启用代码的 HTTP 获取部分。所有这些文件都位于同一目录中。

(相关的)HTML:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="https://dl.dropboxusercontent.com/u/22818342/Testing/javascript_test3.css" rel="stylesheet" type="text/css" />
<body>
<button type="button" onclick="content()">Click Me</button>
<body>

另请注意,当我单击按钮时,表面上是触发了 content() 函数,但什么也没有发生——这并不是所有内容都被覆盖的问题。

其他相关信息:--我在谷歌浏览器中测试这个-- 我从 W3Schools XML 解析演示和另一个 StackOverflow 帖子中提取了大部分代码(同样,仅用于学习目的),该帖子来自与我有类似问题的用户。 在这两种情况下代码都运行良好;只有当我尝试运行它时,事情才会变得糟糕。-- 我对 Javascript 和 XML DOM 还很陌生,所以我完全有可能在某处犯了基本错误。

如果社区能提供任何帮助,我将不胜感激。

最佳答案

对于初学者,您是否尝试过查看它提供的内置调试工具(称为开发人员工具)?有关基本介绍,请参见此处:https://developers.google.com/chrome-developer-tools/ .如果您打开链接中提到的开发人员工具,您发布的代码会在进入控制台 选项卡的过程中吐出几个错误。

开发人员工具会为您显示的代码的两个问题:

  • 当您尝试访问变量 xmlDoc 时,您的大小写不正确。
  • 在您的 loadXMLDoc 函数中,您的 open 调用正在请求一个名为 "dname" 的相关资源(作为字符串),看起来您正在尝试做的实际上是使用变量 dname.

因此,更正后的版本是:

function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",dname,false);
xmlhttp.send();
return xmlhttp.responseXML;
}

xmlDoc = loadXMLDoc("https://dl.dropboxusercontent.com/u/22818342/Testing/javascript_test4.xml");

x = xmlDoc.getElementsByTagName("name");

var content = function()
{
document.write(x[0].childNodes[0].nodeValue);
};

关于Javascript XML 解析不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com