大家好,
我一直在寻找一个可以从Oracle数据库中创建/生成XML文件的示例/基础Python脚本。我以前没有使用过Python的经验。你能在这方面帮我个忙吗?以下是对该任务的详细描述。
例如,如果我的Oracle数据库中有一个名为"Employee"的表,并且它包含的是"EMPNO,ENAME,SAL,DEPTNO"(列名),我的XML文件应该如下所示
123
单
2000年
100个
三百四十五
普尔纳
2000年
200个
# 回答1
大家好,
你有什么最新消息给我吗?如果要求不明确,一定要让我知道,在这里做出明确的帖子。谢谢
# 回答3
嗨,
感谢您的快速回复,并对没有尽早回复您表示歉意。招聘有了一些变化,下面是完整的细节。
我有一个包含以下数据的Oracle表:
标记名、标记值
空名史密斯
空号5102
SAL 600
第10号
Emname Jhon
空号4102
SAL 800
20号门牌
并且我的XML应该如下所示
- <employeedetails>
- <employee>
- <empname>Smith</empname>
- <empno>5102</empno>
- <sal>600</sal>
- <deptno>10</deptno>
- </employee>
- <employee>
- <empname>john</empname>
- <empno>4102</empno>
- <sal>800</sal>
- <deptno>20</deptno>
- </employee>
- <employeedetails>
下面是我用来生成XML的代码
- from xml.etree.ElementTree import Element, SubElement, Comment
- from xml.etree import ElementTree
- from xml.dom import minidom
- import cx_Oracle
-
- def prettify(elem):
- """Return a pretty-printed XML string for the Element.
- """
- rough_string = ElementTree.tostring(elem, 'utf-8')
- reparsed = minidom.parseString(rough_string)
- return reparsed.toprettyxml(indent=" ")
-
- db = cx_Oracle.connect("username/pwd@servername") #Make it as a file read
- cursor = db.cursor()
- cursor.arraysize = 500
- cursor.execute("select * from employee") #Get the table name from input parameter
- top = Element('employeedetails')
- child = SubElement(top,'employee')
- for i in cursor:
- sub_child = SubElement(child, i[1])
- sub_child.text = i[2]
- print (prettify(top))
为了获得所需的输出,我得到了如下输出
- <employeedetails>
- <employee>
- <empname>Smith</empname>
- <empno>5102</empno>
- <sal>600</sal>
- <deptno>10</deptno>
- <empname>john</empname>
- <empno>4102</empno>
- <sal>800</sal>
- <deptno>20</deptno>
- </employee>
- </employeedetails>