Javascript 以下JScript代码中存在错误?

Javascript 以下JScript代码中存在错误?,javascript,xml,Javascript,Xml,下面是一个html应用程序HTA的代码。你能指出下面代码中的错误吗?报告的错误是对象必需的,第13行,字符1。我对JScript还不熟悉,所以知道的不多,我一直在努力解决这个问题。tech.htm是一个关于主题技术的维基百科页面,保存在我的硬盘中。 同样的代码适用于某些RSS提要页面,内容成功保存到LogFile.txt <?xml version="1.0" encoding="UTF-16"?> <html> <body> <h1> The t

下面是一个html应用程序HTA的代码。你能指出下面代码中的错误吗?报告的错误是对象必需的,第13行,字符1。我对JScript还不熟悉,所以知道的不多,我一直在努力解决这个问题。tech.htm是一个关于主题技术的维基百科页面,保存在我的硬盘中。 同样的代码适用于某些RSS提要页面,内容成功保存到LogFile.txt

<?xml version="1.0" encoding="UTF-16"?>
<html>
<body>
<h1> The text.</h1>
<script type = "text/javascript">

var xml_doc = new ActiveXObject("Microsoft.XMLDOM"); 
xml_doc.async = false;
xml_doc.load("D:\\tech.htm");
var txt = xml_doc.getElementsByTagName("p");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("D:\\LogFile.txt",true);
s.WriteLine(txt.item(2).text);
document.write("<p>2+@</p>");

</script>
</body>

谢谢

如果我的计数正确,则错误来自以下行:

s.WriteLine(txt.item(2).text);

由于无法访问html文件,我猜页面上没有3p标记。

可能tech.htm文件无法解析为有效的XML。尝试在代码中添加以下行:

alert(xml_dox.parseError);
alert(txt.length);
如果第一个返回的值不同于0,则D:\tech.htm不是格式良好的XML; 如果第二个返回值小于3,则文件不包含三个P元素。
不能将HTML加载到XML对象中。很可能它在xml_doc.load行已经失败了。提示:使您的jScript代码在.js文件中工作,并在命令行上使用cscript.exe执行该文件。这使得调试更容易。一旦它在那里工作,您就可以通过标记将其1:1包含在HTA应用程序中。