0
這是我的小Python程序:LXML,如何讓原屬性值以CRLF
import xml.etree.ElementTree as etree
tree = etree.parse('test.xml')
root = tree.getroot()
print root.attrib['a']
這是的test.xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<root a="line one
line two
line three">
</root>
當我運行它,我得到:
line one line two line three
雖然我希望:
line one
line two
line three
如何實現預期的行爲?
我不認爲這是可以實現......,爲什麼不把'線一條,線兩條,行three'三個獨立的屬性? – zhangxaochen
請參閱規格:http://www.w3.org/TR/REC-xml/#AVNormalize。如上所述,你不能真正把一個換行符放在一個屬性值中 - '正確的'支持意味着用單個空格替換所有的空格。編輯:進一步閱讀,它看起來像你可能能夠使用屬性列表,並聲明屬性CDATA,在這種情況下,它將工作。從來沒有這樣做過,並且可能有一種更直接的方法(甚至不知道lxml是否會兌現...) –
@zhangxaochen:我給了這樣的(錯誤?)xml,所以我不能改變其結構或內容。 – wanson