以下JScript代码出错?

时间:2011-11-01 15:56:30

标签: javascript xml

以下是html应用程序(hta)的代码。你能指出以下代码中的错误吗?报告的错误是“需要对象,第13行,char 1”。我是JScript的新手,所以不知道多少,而且我一直在努力解决这个问题。而“tech.htm”是关于主题技术的维基百科页面,保存在我的D盘中。 相同的代码适用于某些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>

谢谢!

2 个答案:

答案 0 :(得分:1)

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

alert(xml_dox.parseError);
alert(txt.length);
  • 如果第一个返回不同于0,则D:\ tech.htm不是格式良好的XML;
  • 如果第二个返回小于3,则该文件不包含三个P元素。

答案 1 :(得分:1)

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

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

无法访问html文件,我猜测页面上没有3个p标签。