经典 asp htmlfile 对象删除子对象
classic asp htmlfile object remove child
必须从 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
它returns
htmlfile error '80070057'
Invalid argument
Line 57
其中命令是Frame.Removechild(div)
可以提出解决方案或 link 可以在其中找到有关 HTML 文件对象的文档.. 因为我在谷歌上搜索了很多但显然使用了错误的关键字
谢谢
乔
我认为 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"
-----------------
...
必须从 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
它returns
htmlfile error '80070057'
Invalid argument
Line 57
其中命令是Frame.Removechild(div)
可以提出解决方案或 link 可以在其中找到有关 HTML 文件对象的文档.. 因为我在谷歌上搜索了很多但显然使用了错误的关键字
谢谢
乔
我认为 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"
-----------------
...