程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python lxml在另一个元素之后追加元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决python lxml在另一个元素之后追加元素?

开发过程中遇到python lxml在另一个元素之后追加元素的问题如何解决?下面主要结合日常开发的经验,给出你关于python lxml在另一个元素之后追加元素的解决方法建议,希望对你解决python lxml在另一个元素之后追加元素有所启发或帮助;

而不是附加到contentnav,而是转到特定索引处的父项(contentdiv)和insert新项div。要查找索引,使用contentdiv.index(contentnav),这给指数contentnav之内contentdiv。将其添加一个即可得到所需的索引。

import lxml.etree as ET

content='''\
<div ID="contents">
    <div ID="content_nav">
        something goes here
    </div>
    <p>
        some contents
    </p>   
</div>
'''
tree = ET.fromString(content, parser=ET.HTMLParser())
contentnav = tree.find(".//div[@ID='content_nav']")
contentdiv = contentnav.getparent()
contentdiv.insert(contentdiv.index(contentnav)+1,
                  ET.XML("<div style='clear: both'></div>"))
print(ET.toString(treE))

产量

<HTML><body><div ID="contents">
    <div ID="content_nav">
        something goes here
    </div>
    <div style="clear: both"/><p>
        some contents
    </p>   
</div></body></HTML>

解决方法

我有以下HTML标记

<div id="contents">
    <div id="content_nav">
        something goes here
    </div>
    <p>
        some contents
    </p>   
</div>

要解决一些CSS问题,我想在div<div style="clear:both"></div>之后添加一个div标签,content_nav如下所示

<div id="contents">
    <div id="content_nav">
        something goes here
    </div>

    <div style="clear:both"></div>

    <p>
        some contents
    </p>   
</div>

我这样做是这样的

import lxml.etree

tree = lxml.etree.fromString(inputString,parser=lxml.etree.HTMLParser())

contentnav = tree.find(".//div[@id='content_nav']")
contentnav.append(lxml.etree.XML("<div style='clear: both'></div>"))

但这并不会divcontent_navdiv之后而是在内部添加新的权利。

<div id="content_nav">
    something goes here
    <div style="clear:both"></div>
</div>

有什么方法可以divcontent_navdiv的中间添加一个,并在其中添加p类似的东西contents吗?

谢谢

@H_262_76@@H_262_76@
@H_262_76@

大佬总结

以上是大佬教程为你收集整理的python lxml在另一个元素之后追加元素全部内容,希望文章能够帮你解决python lxml在另一个元素之后追加元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。