我想对每段文本进行一次字符串替换,并保持树结构。
例如,每个字符串将被反转:abc > cba。
如果我将“replace_with()”应用于父节点,它只是连接嵌套文本,并展平父元素。
nodes = soup.find_all(['a','b'])
for node in nodes:
rep = node.text[::-1]
node.string.replace_with(rep)
输入:
<xml>
<a>abc
<b>def </b>
ghi
<a>jkl
<b>mno</b>
jkl </a>
ghi
<b>def </b>
abc</a>
</xml>
输出:
<xml> cba fed ihg lkj ihg fed cbA </xml>
此外,在某些情况下(此处未显示)循环处理内部子项,并在父项处再次重新处理它们,导致混合结果;例如
abc def abc > cba def cba
我想找到一种方法来检索每段文本,并独立处理它。
如何?
阿晨1998
相关分类