cleanup\u命名空間不會從XML中刪除命名空間

這是我的xml字符串

xml = '''
<exta>
<signature>This </signature>
<begin_date>2019-07-12T09:41:48.187</begin_date>
<ver>4</ver>
<maiden_bc>1549</maiden_bc>
<exta_id>12345</exta_id>
<nps_max_price xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <exta_id>72723</exta_id>
    <extended_datetime>2018-11-20T11:01:29.040</extended_datetime>
    <event_ind>E</event_ind>
    <maiden>12345</maiden>
    <patient_id>123</patient_id>
    <boss_id>123LHF</boss_id>
    <template_name/>
    <end_date>2019-01-01T00:00:00</end_date>
    <UYI_AMN xsi:nil="true"/>
    <dedt_bef_ATS xsi:nil="true"/>
    <form>W</form>
</nps_max_price>
</exta>
'''

我使用cleanup_namespaces從xml字符串中刪除名稱空間

from lxml import etree
root = etree.fromstring(xml)
for elem in root.getiterator():
    elem.tag = etree.QName(elem).localname

etree.cleanup_namespaces(root)
print(etree.tostring(root).decode())

這給了我:

<exta>
<signature>This </signature>
<begin_date>2019-07-12T09:41:48.187</begin_date>
<ver>4</ver>
<maiden_bc>1549</maiden_bc>
<exta_id>12345</exta_id>
<nps_max_price xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <exta_id>72723</exta_id>
    <extended_datetime>2018-11-20T11:01:29.040</extended_datetime>
    <event_ind>E</event_ind>
    <maiden>12345</maiden>
    <patient_id>123</patient_id>
    <boss_id>123LHF</boss_id>
    <template_name/>
    <end_date>2019-01-01T00:00:00</end_date>
    <UYI_AMN xsi:nil="true"/>
    <dedt_bef_ATS xsi:nil="true"/>
    <form>W</form>
</nps_max_price>
</exta>

然而,預期的輸出是xml沒有名稱空間xmlns:xsi, xsi:nil, xsd etc。我該怎么做?

Expected Output:

<exta>
<signature>This </signature>
<begin_date>2019-07-12T09:41:48.187</begin_date>
<ver>4</ver>
<maiden_bc>1549</maiden_bc>
<exta_id>12345</exta_id>
<nps_max_price>
    <exta_id>72723</exta_id>
    <extended_datetime>2018-11-20T11:01:29.040</extended_datetime>
    <event_ind>E</event_ind>
    <maiden>12345</maiden>
    <patient_id>123</patient_id>
    <boss_id>123LHF</boss_id>
    <template_name/>
    <end_date>2019-01-01T00:00:00</end_date>
    <UYI_AMN/>
    <dedt_bef_ATS/>
    <form>W</form>
</nps_max_price>
</exta>
? 最佳回答:

問題中的代碼從元素中刪除名稱空間。但是在XML字符串中,沒有任何元素綁定到命名空間。這就是為什么什么都沒有改變。

但是,有兩個命名空間屬性(xsi:nil)。如果您只是想刪除這些屬性(或任何命名空間屬性),可以通過以下方式進行刪除:

for elem in root.iter():      
    for attr in elem.attrib:
        if etree.QName(attr).namespace:
            del elem.attrib[attr]

etree.cleanup_namespaces(root)
主站蜘蛛池模板: 精品一区二区三区无码免费直播| 无码精品人妻一区二区三区免费看 | 免费无码VA一区二区三区| 国产在线不卡一区二区三区| 香蕉一区二区三区观| 精品一区二区三区在线观看| 濑亚美莉在线视频一区| 精品国产一区二区三区久久久狼| 国产一区二区三区免费看 | 一区精品麻豆入口| av一区二区三区人妻少妇| 日韩高清国产一区在线| 国产精品高清一区二区三区| 无码av免费一区二区三区试看| 日韩AV无码一区二区三区不卡毛片 | 风流老熟女一区二区三区| 亚洲熟妇无码一区二区三区| 国偷自产视频一区二区久| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 国产在线精品一区二区| 亚洲一区二区三区成人网站 | 国产亚洲一区二区三区在线不卡| 人妻体内射精一区二区| 一区二区视频免费观看| 日本精品一区二区久久久| 精品一区二区三区电影| а天堂中文最新一区二区三区| 国产裸体舞一区二区三区| 国产精品日韩一区二区三区| 精品3d动漫视频一区在线观看| 国产成人一区二区动漫精品| 在线不卡一区二区三区日韩| www亚洲精品少妇裸乳一区二区| 精品国产一区二区三区AV性色 | 亚洲综合一区国产精品| 成人精品视频一区二区三区尤物| 国产成人av一区二区三区不卡| 一区二区中文字幕在线观看| 果冻传媒董小宛一区二区| 肉色超薄丝袜脚交一区二区| 中文字幕人妻AV一区二区|