0

<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を見てきましたが、ほとんど機能していないようです.

誰でもこれで私を助けることができますか?

ありがとう

4

2 に答える 2

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>
于 2013-11-14T17:54:35.847 に答える
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>
于 2013-11-10T10:08:23.097 に答える