如何在Hpricot中追加新节点

时间:2012-05-15 14:52:04

标签: ruby hpricot

我有一个DOM,我想使用Hpricot插入一个新节点。这是我的DOM结构:

<html>
  <head>
  </head>
  <body>
    ...
    ...

  </body>
</html>

我想要的是我必须插入一个脚本标签作为<body>的最后一个孩子:

<body>
  ...
  <script>
    console.log(document.cookie)
  </script>
</body>

这就是我所拥有的:

doc = Hpricot.XML(%{<html>
                     <head>
                      </head>
                      <body>
                        ...
                        ...
                      </body>
                    </html>
                   })

doc.at('body')

但是现在我没有得到任何想要的方法来推进并且hpricot的文档很糟糕。有人曾经这样做过吗?

1 个答案:

答案 0 :(得分:1)

已达到但如果有人想要这样做,可以使用Nokigiri粘贴它

这里的HTML

  h1 = Nokogiri::XML.parse %{<html>
      <head>
          <script>
            alert("hello");
          </script>
      </head>
      <body>
        <p> THIS IS WAR </p>
      </body>
    </html>}

将你的标签(我的案例脚本标签)作为身体的最后一个孩子

h1.search('body').children.after(%{<script> alert ('Hello') </script>})

希望对某些人有所帮助