`
macken
  • 浏览: 346075 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python解析XML中的元素节点

 
阅读更多

在使用python的minidom解析xml文件时,遇到一个问题,当使用parseString格式解析数据时,例如字符串

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<books>
      <book>
          <name>macken</name>
          <author>tan</author>
      </book>
      <book>
          <name>macken</name>
          <author>tan</author>
      </book>
</books>
 

会将book下的name、author节点识别为元素节点,因为无法像文本节点直接用node.data或node.nodeValue获取里面的文本值,可以使用node.firstChild.data获取内部的文本值;

代码示例:

#!/usr/bin/env python
# -*- coding: GBK -*-
import urllib2
from xml.dom import minidom

url="http://localhost:82/v1/game/"
header = {'Accept':'application/xml'}
request = urllib2.Request(url, headers=header)
response = urllib2.urlopen(request)
data = response.read()

dom=minidom.parseString(data)
for node in dom.childNodes:
    for model in node.childNodes:
        for x in model.childNodes:
            print x.firstChild.data
 
分享到:
评论

相关推荐

    python解析xml文件

    在Python中解析XML文件是一种常见的需求,特别是在处理配置文件、数据交换格式以及其他需要结构化数据的应用场景中。本文将详细介绍如何使用两种流行的方法——`MiniDom`和`ElementTree`来解析XML文件。 #### 1. ...

    python解析xml文件增删查找

    本教程将详细讲解如何使用Python解析XML文件,并进行添加、删除和查找操作。 首先,Python提供了几个库来处理XML,其中最常用的是`xml.etree.ElementTree`。这个模块提供了树形结构来表示XML文档,使得处理XML变得...

    python解析xml

    首先,我们来了解如何使用ElementTree解析XML。ElementTree库包含两个主要部分:`xml.etree.ElementTree` 和 `xml.etree.cElementTree`。前者是纯Python实现,后者是优化过的C版本,速度更快。基本的使用流程如下: ...

    Python获取任意xml节点值的方法

    要解析XML文档并获取其中的节点值,通常需要使用Python的内置库`xml.dom.minidom`。本文将详细介绍如何使用这个库来获取XML文档中的任意节点值,并通过一个名为`SimpleXmlGetter`的类来简化这一过程。 首先,导入`...

    python解析xml文件方式(解析、更新、写入)

    本文将详细介绍如何使用 `xml.dom.minidom` 来解析 XML 文件、更新 XML 文件中的特定节点,并向现有文件中添加新的节点。 #### 1. 解析 XML 文件 解析 XML 文件通常涉及读取文件并从中提取有用的数据。`xml.dom....

    python 解析XML python模块xml.dom解析xml实例代码

    总结起来,`xml.dom.minidom`是Python中处理XML数据的强大工具,通过其提供的API,我们可以方便地解析XML文档,获取或修改XML节点的各种信息。这个实例展示了如何读取XML文件,提取特定元素的属性和文本值,为实际...

    Python读写XML文件实例

    `ElementTree`用于处理整个XML文档,而`Element`则代表XML文档中的一个节点或元素。 ### 写XML文件 在`generate_xml.py`中,我们可能会看到如何创建一个新的XML文件。以下是一个基本示例: ```python import xml....

    在XML的根节点加入子节点

    在DOM中,XML文档被解析为一棵节点树,根节点是树的顶部。通过DOM API,可以在任意位置插入、删除或修改子节点。 6. XPath和XSLT - XPath是一种在XML文档中查找信息的语言,可以用来定位根节点并操作其子节点。 -...

    Python如何对XML 解析

    在Python中使用SAX解析XML,需要导入`xml.sax`模块,并实现`ContentHandler`类的方法,如`startElement`、`endElement`、`characters`等。`startElement`和`endElement`会在遇到元素开始和结束标签时被调用,`...

    Python-RequestsXML一个尽可能简单直观的XML解析器

    3. **解析XML**: 解析后的XML对象可以像处理Python字典一样进行操作,如查找元素、获取属性、遍历子节点等。 ```python root = response.xml element_name = root['elementName'].text attribute_value = root...

    Python解析cdd 文件和批量删除CANoe工程cbf文件

    本主题主要关注两个方面:使用Python解析CDD文件和批量删除CANoe工程中的CBF文件。CDD(Configuration Data Description)文件是用于描述CANoe工程配置的数据文件,而CBF(CAN Bus Format)文件则是CANoe中存储CAN...

    删除XML根节点下的某子节点

    无论使用哪种编程语言,删除XML根节点下的子节点都需要先解析XML文档,找到目标子节点,然后执行删除操作。记得在完成操作后保存修改,以便保留更改。在处理大量数据或频繁操作时,还应注意性能优化,比如使用缓存或...

    Python之XML编程

    3. **XML解析**:详细讲解如何使用Python解析XML文档,包括递归和迭代解析XML元素,获取元素属性和文本,以及处理命名空间。 4. **XML创建与写入**:介绍如何使用Python创建XML文档,包括添加元素、属性,以及序列...

    python_XML-6-17.rar_python 文件_python xml_python读写xml_python读写xm

    `ElementTree`表示整个XML文档,而`Element`则表示XML文档中的一个节点或元素。 读取XML文件: 要读取XML文件,我们可以使用`ElementTree`的`parse()`函数。这个函数会返回一个`ElementTree`对象,我们可以通过该...

    python 通过xml获取测试节点和属性的实例

    在Python中,我们可以使用`xml.dom.minidom`模块来解析和操作XML文件。以下是一些关键的API和方法: 1. 引入模块:`from xml.dom.minidom import parse` 2. 打开XML文档:`DOMTree = xml.dom.minidom.parse(data_...

    Python3 xml.etree.ElementTree支持的XPath语法详解

    XPath是一种在XML文档中查找信息的语言,它允许我们基于元素的名称、属性、文本内容以及它们之间的关系来定位XML节点。在Python中,我们可以使用ElementTree的`find`、`findall`和`iterfind`方法结合XPath表达式来...

    pythonxml:重温Python的XML工具l:

    - **简介**:`xmllib` 是Python中最基础的XML解析器之一,它是一个非验证性的低级解析器,主要用于简单的XML文档解析。通过继承 `xmllib.XMLParser` 类并覆盖其方法,可以实现对特定元素和实体的自定义处理逻辑。 - ...

    xml(python)_pythonxml_

    本主题主要探讨如何使用Python解析XML文件,并将数据存入数据库。 首先,`批量建立MRS数据表.py`可能是一个脚本,用于根据XML数据结构创建MySQL数据库中的表结构。在Python中,可以使用`pymysql`或`mysql-connector...

    解决XML节点删除后会留下一个空节点的问题

    XML节点是XML文档的基本构建块,包括元素、属性、文本、注释、处理指令等。在删除XML节点时,我们的目标是彻底移除它,不留下任何痕迹。 问题的关键在于,许多XML解析器和库在处理节点删除时,可能不会立即从DOM...

Global site tag (gtag.js) - Google Analytics