导航:首页 > 编程语言 > pythonminidom解析

pythonminidom解析

发布时间:2025-09-13 03:37:58

❶ 1、使用python读取依据生成的xml文件,添加样式表,最中生成一个html文件

#coding=utf8

#引入要用到的xml解析库这里我们用比较轻量级的minidom就行了
importxml.dom.minidom

#定义一个html输出模板
#后面我们只是要把这段html中的学生数据部分(<student_trs/>)换成xml中读到的数据
template="""
<html>
<tableborder="1"style="width:100%;text-align:center;">
<tr>
<tdcolspan="4">学生信息</td>
</tr>
<student_trs/>
</table>
</html>
"""

#读取xml文档内容,这里假设是a.xml
dom=xml.dom.minidom.parse('a.xml')

#获取xml中的所有student节点
student_nodes=dom.getElementsByTagName('student')

#初始化student_trs为空
student_trs=""

#遍历每一条学生信息
fornodeinstudent_nodes:
#getAttribute用户获取节点的属性,得到id属性值即学号
#因为xml解析后是Unicode编码的,所以这里要转成utf8编码,下面同理
sid=node.getAttribute("id").encode('utf-8')
#获取所有子节点
children=node.childNodes
forchildinchildren:
#判断子节点的名字为姓名、性别、专业的话,就采集其对应文本
ifchild.nodeName.encode('utf-8')=="姓名":
#使用。childNodes[0].nodeValue的方法得到节点的文本
name=child.childNodes[0].nodeValue.encode('utf-8')
ifchild.nodeName.encode('utf-8')=="性别":
sex=child.childNodes[0].nodeValue.encode('utf-8')
ifchild.nodeName.encode('utf-8')=="专业":
specialty=child.childNodes[0].nodeValue.encode('utf-8')
#组成html中的一行学生数据
student_tr="<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>"%(sid,name,sex,specialty)
#将这一行数据添加到总数据中
student_trs+=student_tr

#替换模板的<student_trs/>为我们上面所得到的html数据
html=template.replace("<student_trs/>",student_trs)

#输入html结果到output.html
open("output.html","w").write(html)


#PS:你提供的xml数据有问题,确实了一个</students>标记
#正确的xml应该如下
"""
<?xmlversion="1.0"encoding="UTF-8"?>
<person>
<students>
<studentid="20140711">
<姓名>三</姓名>
<性别>男</性别>
<专业>计算机</专业>
</student>
</students>
</person>
"""

❷ python xml 查找关键字

可以这么写:
def find(html):
soup = BeautifulSoup(html.getResponse().content,from_encoding='gb18030')

for index in soup.find_all('ROWDATA'):

print index

html是你的网页域名

❸ python读取xml文件有哪些方法

1、以下几种方法建议初学者使用:

下面的方法涉及知识比较多,熟练掌握上面方法后可以了解使用:

2、Dom读取

3、Dom4j读取
使用dom4j需要导入相关的jar包

import java.io.File;
import java.util.Iterator;
import java.util.List;


4、JDom读取
使用jdom需要导入相关的jar包

import java.io.FileInputStream;

import java.io.InputStream;

5、Sax读取

6、properties的读取

❹ 如何用Python创建生成xml文档文件的方法

1、内存数据产生

2、产生xml内存对象(也就是DOM树)

3、产生根对象

4、往根对象里加数据

5、把xml内存对象写到文件

下面是一个创建xml文档的简单实例:

importxml.dom.minidom#在内存中创建一个空的文档doc=xml.dom.minidom.Document()
#创建一个根节点Managers对象root=doc.createElement('Managers')
#设置根节点的属性root.setAttribute('company','xx科技')
root.setAttribute('address','科技软件园')
#将根节点添加到文档对象中doc.appendChild(root)

managerList=[{'name':'joy','age':27,'sex':'女'},
{'name':'tom','age':30,'sex':'男'},
{'name':'ruby','age':29,'sex':'女'}
]foriinmanagerList:
nodeManager=doc.createElement('Manager')
nodeName=doc.createElement('name')
#给叶子节点name设置一个文本节点,用于显示文本内容
nodeName.appendChild(doc.createTextNode(str(i['name'])))

nodeAge=doc.createElement("age")
nodeAge.appendChild(doc.createTextNode(str(i["age"])))

nodeSex=doc.createElement("sex")
nodeSex.appendChild(doc.createTextNode(str(i["sex"])))

#将各叶子节点添加到父节点Manager中,
#最后将Manager添加到根节点Managers中
nodeManager.appendChild(nodeName)
nodeManager.appendChild(nodeAge)
nodeManager.appendChild(nodeSex)
root.appendChild(nodeManager)#开始写xml文档fp=open('c:\wcx\Manager.xml','w')
doc.writexml(fp,indent=' ',addindent=' ',newl=' ',encoding="utf-8")

执行结果:

<?xmlversion="1.0"encoding="utf-8"?>
<Managersaddress="科技软件园"company="xx科技">
<Manager>
<name>joy</name>
<age>27</age>
<sex>女</sex>
</Manager>
<Manager>
<name>tom</name>
<age>30</age>
<sex>男</sex>
</Manager>
<Manager>
<name>ruby</name>
<age>29</age>
<sex>女</sex>
</Manager>
</Managers>

6.用Python自带的写xml文档的API去写,比较方便,后期容易维护。如果直接用打开文件的方式,一行一行的去写,比较费时,也难以维护。

阅读全文

与pythonminidom解析相关的资料

热点内容
我的世界卖东西服务器指令是什么 浏览:650
违抗命令罪 浏览:208
空间加密对方不能进去 浏览:193
pycharmpython路径 浏览:375
pythonrestful接口测试 浏览:165
linux中的查找命令 浏览:3
程序员提交代码不自测 浏览:771
凯恩帝数控编程软件 浏览:84
我的世界指令方块命令是啥 浏览:125
日剧命令 浏览:329
单片机由哪三部分组成 浏览:991
如何解析解压密码 浏览:285
编程歌曲 浏览:240
折一个鳄鱼的解压器 浏览:333
服务器是根据什么确定的 浏览:435
linux100m 浏览:600
pythonminidom解析 浏览:488
学习单片机和敲代码哪个方向更好 浏览:453
qt编译调试 浏览:326
目前需求量最大的程序员 浏览:297