怎么用python获取xml文件的所有节点。

Python028

怎么用python获取xml文件的所有节点。,第1张

假如我们有个xml文档如下:example.xml

<?xml version="1.0" encoding="UTF-8"?>

<BIT>

<GeneralDescription>

<name>Matlab</name>

<DateTime>2008-09-10 23:16:48</DateTime>

</GeneralDescription>

<AMatrix>1,2,34,5,67,8,9</AMatrix>

</BIT>

首先,要解析xml文档,需要导入一个模块

>>>from xml.dom.minidom import parse

(1)然后载入一个xml文档

>>>xmldoc = parse("J:/homeword/example.xml")

>>>print xmldoc.toxml()

<?xml version="1.0" ?>

<BIT>

<GeneralDescription>

<name>Matlab</name>

<DateTime>2008-09-10 23:16:48</DateTime>

</GeneralDescription>

<AMatrix>1,2,34,5,67,8,9</AMatrix>

</BIT>

>>>

上面是可以查看这个文档的内容。

Toxml方法打印出了node风格的xml,如果节点是Document结果,则打印出整个xml文档。否则只打印出本节点所属内容。

(2)如何获取子节点

>>>xmldoc.childNodes

[<DOM Element: BIT at 0x1223af8>]

>>>

每一个node都有一个childNodes的属性,他是一个node对象的列表,注意的是,一个Document只有一个子节点,上例中就是BIT这个节点,它属于Document节点。

因为是列表,所以也可以同用列表索引,xmldoc.childNodes[0]

>>>BIT_element = xmldoc.firstChild

>>>BIT_element

<DOM Element: BIT at 0x1223af8>

>>>print BIT_element.toxml()

<BIT>

<GeneralDescription>

<name>Matlab</name>

<DateTime>2008-09-10 23:16:48</DateTime>

</GeneralDescription>

<AMatrix>1,2,34,5,67,8,9</AMatrix>

</BIT>

>>>

(3)获得某一个节点的文本

>>>BIT_element.childNodes

[<DOM Text node "

">, <DOM Element: GeneralDescription at 0x1223be8>, <DOM Text node "

">, <DOM Element: AMatrix at 0x1223e40>, <DOM Text node "

">]

>>>name = (BIT_element.childNodes[1]).childNodes[1]

>>>>>>name.childNodes[0].data

u'Matlab'

>>>

如何利用python 的 networkx从文件中读数据加节点和边

译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利

用yum进行工具和拓展库安装的示例命令,直接copy执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。

yumgroupinstall"Development tools"

yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel

该考虑的因素

在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。

Unicode编码

Python

编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配

置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。