经典 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"
-----------------
...