我是 Python 新手,無法從 xml 檔案匯入照片。不幸的是,我知道 xml 檔案是彎曲的并且創建得很差。但不幸的是,在這種格式下,它將到達服務器并且無法更改它。
XML結構:
<?xml version="1.0" encoding="utf-8" ?>
<test>
<test-item>
<sku>098730</sku>
<name><![CDATA[Bala bla bla]]></name>
<description><![CDATA[Bala bla bla. Bala bla bla. Bala bla bla.]]>
</description>
<image><![CDATA[image url]]></image>
<image2><![CDATA[image url]]></image2>
<image3><![CDATA[image url]]></image3>
<image4><![CDATA[image url]]></image4>
</test-item>
</test>
如何從該檔案中正確匯入結構不良的影像( <image>, ,... 等)?<image2>
uj5u.com熱心網友回復:
試試下面
import xml.etree.ElementTree as ET
xml = '''<?xml version="1.0" encoding="utf-8" ?>
<test>
<test-item>
<sku>098730</sku>
<name><![CDATA[Bala bla bla]]></name>
<description><![CDATA[Bala bla bla. Bala bla bla. Bala bla bla.]]>
</description>
<image><![CDATA[image url1]]></image>
<image2><![CDATA[image url2]]></image2>
<image3><![CDATA[image url43]]></image3>
<image4><![CDATA[image url4]]></image4>
</test-item>
</test>'''
root = ET.fromstring(xml)
images = []
counter = 0
while True:
if counter == 0:
img = root.find('.//image')
if img is None:
break
images.append(img.text)
counter = 2
else:
img = root.find('.//image{}'.format(counter))
if img is None:
break
images.append(img.text)
counter = 1
for idx,image in enumerate(images,1):
print('{}) {}'.format(idx,image))
輸出
1) image url1
2) image url2
3) image url43
4) image url4
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/484980.html
上一篇:在androidxml中使用多個@string陳述句
下一篇:使用XPath創建XML屬性
