使用ElementTree 模組在Python 中處理XML 檔案時,可能需要定位元素,無論其名稱空間如何。但是,在處理包含命名空間的 XML 檔案時,預設行為是在搜尋元素時考慮命名空間前綴。這可能會很不方便,尤其是在處理大量命名空間時。
要解決此問題,可以修改 XML 文件以消除命名空間,但這可能並不總是可行。或者,可以解析 XML 文件並修改結果中的標籤以忽略命名空間:
<code class="python">from io import StringIO # Python 2: from StringIO import StringIO import xml.etree.ElementTree as ET # Use iterparse to retain lazy parsing it = ET.iterparse(StringIO(xml)) for _, el in it: _, _, el.tag = el.tag.rpartition('}') # Strip namespace root = it.root</code>
這種方法可以輕鬆處理多個命名空間,而無需在每個標籤前面明確添加它們。
以上是以下是一些適合您提供的 Python ElementTree 程式碼片段的基於問題的標題,重點關注忽略名稱空間的問題: * 如何在沒有命名空間的情況下找到 XML 檔案中的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!