必须从HTML文件中提取一些信息并删除div,我需要使用经典的asp。
我正在使用HTMLFile对象,除非我尝试删除div
,否则它可以正常运行这里是例程的相关部分:
.......
Set HTML = CreateObject("HTMLFile")
Set Frame = CreateObject("HTMLFile")
.........
tmp=t.ReadAll
HTML.Write tmp
t.close
Set SPN=HTML.getElementsByTagName("div")
for each sp in SPN
if sp.getAttribute("id")="frame" then
Frame.write sp.InnerHTML
exit for
end if
next
Set Divs=Frame.getElementsByTagName("div")
for each div in Divs
if div.getAttribute("id")="link_1" then
Frame.removeChild(div)
end if
next
它返回
htmlfile错误'80070057'
参数无效 第57行
其中命令为Frame.Removechild(div)
可以建议解决方案或链接,在那里可以找到关于HTMLFile对象的文档..因为我搜索了很多但显然有错误的关键字
谢谢
乔
答案 0 :(得分:1)
我认为 HTMLFILE的文档开始here。
根据removeChild的文档,删除节点X所需的咒语是:
X.parentNode.removeChild X
如果您更改了here
中的删除演示代码oDOM.childNodes(0).childNodes(1).removeChild DOM.childNodes(0).childNodes(1).childNodes(0)
到
Set p = oDOM.getElementsByTagName("P")(0)
p.parentNode.removeChild p
WScript.Echo "After deleting first P"
dumpDoc oDOM
你应该得到
...
-----------------
After changing second P's .innerTEXT to "pipapo"
oDOM.documentElement: HTML
oDOM.childNodes.length 1
1 HTML "<HEAD></HEAD><BODY><P>G</P><P>pipapo</P></BODY>"
1 HEAD ""
1 TITLE ""
1 BODY "<P>G</P><P>pipapo</P>"
1 P "G"
3 #text "G"
1 P "pipapo"
3 #text "pipapo"
-----------------
After deleting first P
oDOM.documentElement: HTML
oDOM.childNodes.length 1
1 HTML "<HEAD></HEAD><BODY><P>pipapo</P></BODY>"
1 HEAD ""
1 TITLE ""
1 BODY "<P>pipapo</P>"
1 P "pipapo"
3 #text "pipapo"
-----------------
...