Python - 删除元素中的XML标签

0 投票
3 回答
1370 浏览
提问于 2025-04-16 21:25

我正在使用 Python 2.7.2 和 DOM 解析器来读取多个 XML 文件中的数据,并导出 .db 文件以便在 SQL Server 上使用。我已经学会了如何导出这些文件,但我的数据表中也包含了 XML 标签。以下是基本的代码:

from xml.dom import minidom
import sqlite3
xmldoc = minidom.parse('c:\dd\l2con\l2connection.xml')
coId = xmldoc.getElementsByTagName('id')

每个元素看起来是这样的:

>>> coId[0]
<DOM Element: id at 0x249cf30>
>>> print coId[0].toxml()
<id>45859</id>
>>> coId[1]
<DOM Element: id at 0x24ac328>
>>> print coId[1].toxml()
<id>46889</id>
>>> 

但它们应该是这样的:没有 XML 标签

>coId[0].toxml()
45859
>coId[1].toxml()
46889

直接删除 XML 标签可能不适合这种情况。这样 Python 就无法读取 XML 文件了。你能给我一些建议吗?任何帮助都非常感谢。

谢谢你

Yusuf

3 个回答

0

你可以使用/尝试一下 nodeValue 属性。

假设你有:

myNode.toXml()= <name>Ben</name>

那么

myNode.nodeValue = Ben
2

coId[0].data 来代替,这样可以获取元素的内容。

可以参考 mzjn 的回答,用 coId[0].firstChild.data 是正确的方法。

3

coId[0] 是一个 DOM 元素,它里面有一个子元素(一个 文本 节点)。你可以使用

coId[0].firstChild.data

来获取文本内容。

这个方法也可以:

coId[0].firstChild.nodeValue

撰写回答