python xml minidom获取包含子节点和文本的childnode的完整内容

python xml minidom获取包含子节点和文本的childnode的完整内容,python,xml,python-3.x,xml-parsing,minidom,Python,Xml,Python 3.x,Xml Parsing,Minidom,我正在寻找使用xml minidom提取xml文件的内容,以下是示例: <parent> <child> text1 <subchild>text2 </subchild> text3 </child> </parent> 我可以得到text1和text2,但不能得到text3 请说明如何获取我的子元素和子元素(text1 text2text3)的完整内容?如

我正在寻找使用xml minidom提取xml文件的内容,以下是示例:

<parent>
   <child>
        text1 
        <subchild>text2 </subchild> 
        text3
   </child>
</parent>
我可以得到text1text2,但不能得到text3

请说明如何获取我的子元素和子元素(text1 text2text3)的完整内容?

如果是
Text
对象和
firstChild.nodeValue
对象,则迭代子节点并获取
.data
属性,否则:

print([node.data.strip() if isinstance(node, xml.dom.minidom.Text) else node.firstChild.nodeValue
       for node in child.childNodes])
打印
['text1',text2',text3']


<>我会考虑切换到更直接、更易于使用和理解的东西,而不是<代码> MIDIDOM/COD>库。例如,看看在一个

>>来自bs4导入组
>>>data=”“”
... 
...    
…文本1
…文本2
…文本3
...    
... 
... """
>>>soup=BeautifulSoup(数据,“xml”)
>>>打印(soup.child.get_text())
文本1
文本2
文本3
print([node.data.strip() if isinstance(node, xml.dom.minidom.Text) else node.firstChild.nodeValue
       for node in child.childNodes])
>>> from bs4 import BeautifulSoup
>>> data = """
... <parent>
...    <child>
...         text1 
...         <subchild>text2 </subchild> 
...         text3
...    </child>
... </parent>
... """
>>> soup = BeautifulSoup(data, "xml")
>>> print(soup.child.get_text())

        text1 
        text2  
        text3