我有一个带有<en-media>
标记的XML文档:
<en-media type="image/png" hash="06c5ec15535babbcd3eef471f51af870"/>
我正在尝试将该标记更改为HTML <img>
,因此它看起来如下所示:
<img src="06c5ec15535babbcd3eef471f51af870"/>
这适用于文件以其哈希值命名。
我一直在使用xml.etree.ElementTree尝试这样做,我一直在关注http://docs.python.org/2/library/xml.etree.elementtree.html,但我似乎无法接近工作。
任何人都可以帮我吗?
由于
答案 0 :(得分:1)
以下是使用ElementTree完成的方法。
输入XML(test.xml):
<root>
<en-media type="image/png" hash="06c5ec15535babbcd3eef471f51af870"/>
</root>
Python代码:
from xml.etree import ElementTree as ET
root = ET.parse("test.xml").getroot()
# Get the 'en_media' element
en_media = root.find("en-media")
# Add the 'img' element (with 'src' attribute) as a sub-element of 'root'
img = ET.SubElement(root, "img", src=en_media.get("hash"))
# Remove 'en_media'
root.remove(en_media)
print ET.tostring(root)
输出:
<root>
<img src="06c5ec15535babbcd3eef471f51af870" /></root>
答案 1 :(得分:0)
您可以使用 BeautifulSoup 。
例如:
from bs4 import BeautifulSoup
a = BeautifulSoup("<somelink rel='stylesheet'>")
print a
# output : <html><body><somelink rel="stylesheet"></somelink></body></html>
b = a.somelink
b.name = "link"
print a
# output : <html><body><link rel="stylesheet"></link></body></html>
print b
# output : <link rel="stylesheet"></link>