gpt4 book ai didi

python - 使用 xml.dom.minidom 从 Mysql XML 转储中提取数据

转载 作者:行者123 更新时间:2023-11-29 00:46:53 25 4
gpt4 key购买 nike

我用 phpmyadmin 将一个 mysql 数据库导出到 xml,现在我想用 minidom 解析它,但我无法以我需要的形式获取内容。

总结:我需要给变量赋值 title <column name="news_title">This is the title</column> 中包含的文本

提取的数据库如下所示:

<pma_xml_export version="1.0" >
<database name="dbname">
<!-- Table newsbox -->
<table name="newsbox">
<column name="news_id">1</column>
<column name="news_title">This is the title</column>
<column name="news_text">This is the news text</column>
<column name="date">Thu, 28 Feb 2008 20:10:30 -0500</column>
<column name="author">author</column>
<column name="category">site_announcement</column>
</table>
</database>
</pma_xml_export>

我可以使用以下脚本提取文本,但它不是我需要的形式:

doc = parseString(document)

pmaexport = doc.getElementsByTagName("pma_xml_export")[0]
columns = pmaexport.getElementsByTagName("column")


for item in columns:
name = item.getAttribute("name")
text = item.firstChild.data.strip()
print name, text

我需要的是可以将这些元素的文本内容分配给可以传递的变量,例如,

for item in columns:
title = ???
text = ???
date = ???
author = ???

如果数据库输出的形式是 <title>Here's the Title</title>我会举出很多例子,但我找不到任何对类似 <column name="news_title">This is the title</column> 的引用。

最佳答案

自从我使用 xml.dom.minidom 以来已经有一段时间了,但这应该可以工作...

columns = [c.firstChild.data for c in pmaexport.getElementsByTagName('column') if c.getAttribute('name') == 'news_title']

另外,例如,列表理解!

关于python - 使用 xml.dom.minidom 从 Mysql XML 转储中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com