我需要将XML文档转换为LaTeX.类似于
<?xml version="1.0" encoding="UTF-8"?>
<foo>
12345
<bar>
67890
</bar>
</foo>
到
\foo{12345\bar{67890}}
如果我这样做了
from bs4 import BeautifulSoup
with open("foobar.xml") as fp:
soup = BeautifulSoup(fp, 'xml')
for tag in soup.find_all("foo"):
tag.replaceWith(f"""{tag.text}""")
然后移除内部的标签.如果我使用contents
而不是text
,它将返回一个列表.
我try 了soup.find('foo').unwrap()
个,但它只是删除了标签,没有替换它.
我知道我可以先替换bar
,然后再替换foo
,但我想要一个不依赖于标签顺序的解决方案.