A. 如何使用python生成xml

最近要用python生成一个xml格式的文件。因为有一些内容是中文,原来的xml文件中使用了CDATA 的部分。 而之前的python程序所用的库中没有 创建这个区域的方法。无奈研究了大半天。 最后用了 from lxml import etree 这个库的方法。 这里将可运行的 python程序分享出来。 供大家参考。 经过测试,这段代码是可以直接运行生成xml格式内容的。

1 # -*- coding:utf-8 -*-
2 import sys
3 import time
4 import string
5
6 from lxml import etree
7
8
9 #设置默认字符集为UTF8 不然有些时候转码会出问题
10 default_encoding = 'utf-8'
11 if sys.getdefaultencoding() != default_encoding:
12 reload(sys)
13 sys.setdefaultencoding(default_encoding)
14
15 def create_xml():
16
17 data = etree.Element("data")
18 #1 interface_version
19 interface_version_txt = '5'
20 interface_version = etree.SubElement(data, 'interface_version')
21 interface_version.text = interface_version_txt
22 #2 site
23 site_txt = 'www.xxx.com'
24 site = etree.SubElement(data, 'site')
25 site.text = site_txt
26 #3 lastmod
27 lastmod_txt = time.strftime('%Y-%m-%d', time.localtime())
28 lastmod = etree.SubElement(data, 'lastmod')
29 lastmod.text = lastmod_txt
30 #5 app
31 app = etree.SubElement(data, 'app')
32 #6 title
33 title_txt = u'%s' % '真心话大冒险'
34 title_txt = etree.CDATA(title_txt)
35 title = etree.SubElement(app, 'title')
36 title.text = title_txt
37 #7 appid
38 appid = etree.SubElement(app, 'appid')
39 appid.text = '%s' % '222'
40
41 dataxml = etree.tostring(data, pretty_print=True, encoding="UTF-8", method="xml", xml_declaration=True, standalone=None)
42 print dataxml
43
44
47 if __name__ == '__main__':
48 create_xml()

B. 使用python生成几个学生的信息,已xml形式展现;(求高人指导解答,节点不需要太复杂,易于学习即可)

#encoding:UTF-8

importos
defCreateXML():
importxml.dom.minidom
impl=xml.dom.minidom.getDOMImplementation()
dom=impl.createDocument(None,'students',None)
root=dom.documentElement
student=dom.createElement('student')
root.appendChild(student)

ElementName=dom.createElement('name')
TextName=dom.createTextNode('王二麻子')
ElementName.appendChild(TextName)
student.appendChild(ElementName)

ElementAge=dom.createElement('age')
TextAge=dom.createTextNode('28')
ElementAge.appendChild(TextAge)
student.appendChild(ElementAge)

print'FilePathis:%s'%os.path.join(os.getcwd(),'Student.xml')
f=open(os.path.join(os.getcwd(),'Student.xml'),'w')
dom.writexml(f,addindent='',newl=' ',encoding='UTF-8')

if__name__=="__main__":
CreateXML()

生成xml的代码如上,只涉及到基本用法,具体什么意思自己看文档吧。如果想大量生成xml,比如从其他文件里面导出什么的就得改造下了。

C. 如何用Python输出漂亮的xml文件

你的问题可以直接转化为python如何读取文件,使用这句代码:open('thefile.xml').read( ) 下面是例子: >>> open('D:\\Test.xml',encoding='utf8').read()不知道为什么,python3.4中读取文件的默认使用GBK,这一点要注意

D. python生成xml遇到问题

from xml.dom import minidom
doc = minidom.Document()
print doc.toprettyxml("", "", "UTF-8")

如果解决了您的问题请点赞!
如果未解决请继续追问

E. python生成xml,信息头怎么独立成一行

a=' 0-229956 ' b="' 0-(A-1) '\n' B-229956 '" d=open("a.xml","w") while 1: line=d.readline() if line==a: replace(a,b) ifnotline: break ##如果你的A,B两个值是从终端读取的话在开始read一下就行: read A read B

F. 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>
"""

G. python 生成xml文件的时候如何设置编码为utf-8

from xml.etree import ElementTree
filePath = 'd:\\aaa.xml'
xmldoc = ElementTree.parse(filePath)
newName = 'bbb.xml'
xmldoc.write(newName, 'utf-8')

H. 如何利用Python脚本生成sitemap.xml

织梦有个sitemap.xml插件,dede没有自带附件的插件,把插件上传到ftp,在后台就会看到一个生成按钮,点击生成xml插件,希望对你有帮助,我的土拨培训也是这样弄的。

I. python生成xml,如何把头写成<xml version="1.0">

tree.write('createxml.xml',xml_declaration=True, encoding='utf-8', method="xml")

root = ET.Element('bookstore')
tree = ET.ElementTree()
tree._setroot(root)

child0 = ET.Element('book',{'category':"COOKING"})
root.append(child0)

child00 = ET.Element('title',{'language':"English"})
child00.text='Everyday Italian'
child0.append(child00)

tree.write('createxml.xml','utf-8')