簡體   English   中英

使用Python 3.5刪除xml標簽

[英]Remove xml tags using Python 3.5

因此,我是使用python的新手。 我正在嘗試從xml文檔中刪除xml標記。 嘗試刪除所有<tag2></tag2>標簽,但保留“ foo”和“ bar”。 有什么建議嗎? 試圖避免lxml

  <entry name="xml">
    <tag>
      <tag2>foo</tag2>
    </tag>
    <tag3>
      <tag2>bar</tag2>
    </tag3>
    <tag4>
      <tag2>foo</tag2>
    </tag4>
    <tag5>
      <tag2>bar</tag2>
    </tag5>
  </entry> 

編輯:這就是我需要的輸出是

entry name="xml">
    <tag>
      foo
    </tag>
    <tag3>
      bar
    </tag3>
    <tag4>
      foo
    </tag4>
    <tag5>
      bar
    </tag5>
  </entry>

您可以使用xml遍歷元素樹。 這將創建所有標簽的列表,其中包含文本。

import xml.etree.ElementTree as ET

tree = ET.parse('x.xml')
root = tree.getroot()

text = []
for child in tree.iter():
    if '\n' not in child.text:
        text.append(child.text) 

或是David Zemens的簡單陳述

text = [child.text for child in tree.iter() if not child.text.strip() == '']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM