【python】DOM模块读写XML文件

简介: 【python】DOM模块读写XML文件



DOM模块

DOM模块是指文档对象模型,它是一种用于表示和操作HTML和XML文档API。通过DOM模块,我们可以使用JavaScript来动态地修改网页的内容和结构,实现交互效果和动态更新

特点

一次性读写整个文档,然后放到一个树形结构中,之后可以利用DOM提供的不同函数来读取需改文档。

也可以把修改过的内容写入XML中。

XML读写过程

两种解析器

# coding=gbk
import xml.dom.minidom
import xml.dom.pulldom
#一种解析器
xml.dom.minidom.parse()
xml.dom.pulldom.parse()

DOM解析XML文件

# coding=gbk
import xml.dom.minidom
document_tree=xml.dom.minidom.parse("storehouse.xml")
collection=document_tree.documentElement# 把所有元素存入集合
print(collection.toxml())
<storehouse>
    <goods category="fish">
        <title>淡水鱼</title>
        <name>鲫鱼</name>
        <amount>18</amount>
        <price>8</price>
    </goods>
    <goods category="fruit">
        <title>温带水果</title>
        <name>猕猴桃</name>
        <amount>10</amount>
        <price>10</price>
    </goods>
</storehouse>
Process finished with exit code 0

用DOM实现XML修改

# coding=gbk
import xml.dom.minidom
document_tree=xml.dom.minidom.parse("storehouse.xml")
collection=document_tree.documentElement# 把所有元素存入集合
#print(collection.toxml())
price = collection.getElementsByTagName("price")# 获取此标签下的子元素集合
price_object=price[0]
price_object.firstChild.data=8.2
print("xiugaichenggong!")
goods=collection.getElementsByTagName("goods")
collection.removeChild(goods[1])# 删除第二个goods节点对象
print("jiedianchacchu")
f=open("storehouse.xml","w",encoding="utf-8")
f.write(document_tree.toxml())
f.close()

总结

XML有很好的结构化数据格式。可以清晰记录数据和数据的结构

并可以随时发送给相关方,进行读写修改。

总而言之,XML 指的是 eXtensible Markup Language,意思是可扩展标记语言。它是一种用于存储和传输数据的格式,在许多方面都与 HTML 相似,但是它不限制你如何使用标记,而是允许你自定义标记以更好地表示你的数据。因此,XML 在各种领域,如网络传输、数据存储和内容管理等,都有着广泛的应用。

相关文章
|
5月前
|
XML JavaScript Java
【JAVA XML 探秘】DOM、SAX、StAX:揭秘 Java 中 XML 解析技术的终极指南!
【8月更文挑战第25天】本文详细探讨了Java中三种主流的XML解析技术:DOM、SAX与StAX。DOM将XML文档转换为树状结构,便于全方位访问和修改;SAX采取事件驱动模式,适用于大型文件的顺序处理;StAX则兼具DOM和SAX的优点,支持流式处理和随机访问。文中提供了每种技术的示例代码,帮助读者理解如何在实际项目中应用这些解析方法。
228 1
|
6月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
输出子节点的数量。结果取决于您所使用的浏览器。IE 浏览器会输出 4(提醒 4 个子节点),而其他浏览器会输出 9(提醒 9 个子节点)。
|
6月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
遍历(Traverse)意味着在节点树中进行循环或移动。
|
6月前
|
XML 存储 JavaScript
XML DOM - 访问节点
通过 DOM, 可全面访问 XML 文档的节点。实现这一目标有 3 种方法: - 使用 `getElementsByTagName()` 方法, - 循环遍历节点树, - 利用节点间关系进行导航。 `getElementsByTagName()` 返回一个 Node List,即一种节点数组形式。示例代码通过 `loadXMLDoc()` 函数加载 &quot;books.xml&quot; 文件到 `xmlDoc` 变量中,并随后在变量 `x` 中保存所需节点信息。
|
5月前
|
XML 数据格式
Dom4j 保存XML HL7-V3
Dom4j 保存XML HL7-V3
18 0
|
5月前
|
XML 数据格式
dom4j selectNodes 取不到值 因为XML带有命名空间 HL7
dom4j selectNodes 取不到值 因为XML带有命名空间 HL7
81 0
|
6月前
|
XML Web App开发 JavaScript
XML DOM 解析器
大多数浏览器内置了XML解析器,能将XML文档转换为可由JavaScript访问的XML DOM对象。DOM接口提供方法来遍历、访问、插入和删除XML树中的节点。加载XML文档涉及创建XMLHTTP对象,打开并发送请求给服务器,最后将响应设为DOM对象以供操作。
|
3月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
84 1
|
5月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
2月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
30 2