我已經瀏覽了幾篇文章,但我還沒有找到任何解決我的問題的答案。用minidom從XML節點中提取文本
示例XML =
<TextWithNodes>
<Node id="0"/>TEXT1<Node id="19"/>TEXT2 <Node id="20"/>TEXT3<Node id="212"/>
</TextWithNodes>
所以我明白,平時如果我提取TextWithNodes
作爲NodeList
我會做類似
nodeList = TextWithNodes[0].getElementsByTagName('Node')
for a in nodeList:
node = a.nodeValue
print node
我得到的是None
。我讀過您必須編寫a.childNodes.nodeValue
,但節點列表中沒有子節點,因爲它看起來像所有Node
ID都正在關閉標記?如果我使用a.childNodes
,我會得到[]
。
當我得到節點類型a
它是類型1和TEXT_NODE
= 3.我不確定這是否有幫助。
我想提取TEXT1
,TEXT2
等
你的'TEXT1','TEXT2'等實際上並不是任何元素的派對。如果你的XML是' TEXT1 TEXT2 TEXT3 '?另外,是否有關閉的標籤? –
Chris
此外,我強烈建議使用['xml.etree.ElemetTree'](http://docs.python.org/library/xml.etree.elementtree.html)(標準庫的一部分)來處理XML蟒蛇。這是一個更簡單,更pythonic的界面。例如,在'xml.dom'中,你必須使用'element.childNodes.nodeValue'來獲取與'element'相關的文本,在etree中這只是'element.text'。 – Chris
嗨克里斯,謝謝,那正是我所想的,因爲它全部關閉標籤,這讓我很困惑。我不確定這個xml文件有多有效,它只是一個文本工程軟件的輸出,用於註解,我需要解析爲excel。我會考慮ElementTree。 – Jasmine