溫馨提示×

lxml怎么處理XML命名空間

小億
136
2024-05-14 13:06:17
欄目: 云計算

在lxml中處理XML命名空間,可以通過傳遞一個字典給namespaces參數來定義命名空間的前綴和URI,然后在使用XPath表達式時可以使用這些前綴來訪問節點。

例如:

from lxml import etree

# 定義命名空間的前綴和URI
namespaces = {
    'ns': 'http://www.example.com/ns'
}

# 創建XML文檔
xml_str = """
<ns:root xmlns:ns="http://www.example.com/ns">
    <ns:child>Child Element</ns:child>
</ns:root>
"""

root = etree.fromstring(xml_str)

# 添加命名空間映射
etree.register_namespace('ns', 'http://www.example.com/ns')

# 使用XPath表達式來選擇節點
child_node = root.xpath('//ns:child', namespaces=namespaces)[0]

print(child_node.text)

在上面的例子中,我們定義了一個名為ns的命名空間前綴,并將其映射到URIhttp://www.example.com/ns。然后我們使用XPath表達式//ns:child來選擇<ns:child>節點,并打印其文本內容。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女