我們必須找到標籤名稱和兩個XML元素的文本。要做到這一點,最好的辦法是解析的元素。
所以,你有這樣一個列表,對嗎?
>>> l = ['<example>this is cool</example>', '<example>this is cooler</example>']
首先,讓我們解析它(在這種情況下,與lxml
):
>>> import lxml.etree
>>> elements = [lxml.etree.fromstring(s) for s in l]
現在我們有兩個元素的列表。從這些元素中,我們可以把他們的標籤名稱...
>>> elements[0].tag
'example'
...及其文本內容:
>>> elements[0].text
'this is cool'
>>> elements[1].text
'this is cooler'
好了,我們可以創建一個新的解析相同標籤的元作爲第一個:
>>> new_element = new_element = lxml.etree.Element(elements[0].tag)
現在,我們這個新元素的文本設置爲前兩者的串聯:
>>> new_element.text = elements[0].text + elements[1].text
現在,我們得到的字符串表示從元素對象:
>>> lxml.etree.tostring(new_element)
b'<example>this is coolthis is cooler</example>'
所以,你有兩個字符串列表? – brandizzi 2015-01-26 19:54:05
@brandizzi我有一個元素的列表,裏面的元素有一個單一的字符串「這很酷 這是更酷! 」 –
Jorge
2015-01-26 19:55:25
如果你說你有「標籤」,我問什麼樣的標籤? BeautifulSoup? ElementTree的? minidom命名?你使用的是什麼xml/html分析器? – 2015-01-26 19:56:06