使用python创建XML

大家好,
我一直在寻找一个可以从Oracle数据库中创建/生成XML文件的示例/基础Python脚本。我以前没有使用过Python的经验。你能在这方面帮我个忙吗?以下是对该任务的详细描述。
例如,如果我的Oracle数据库中有一个名为"Employee"的表,并且它包含的是"EMPNO,ENAME,SAL,DEPTNO"(列名),我的XML文件应该如下所示
123

2000年
100个
三百四十五
普尔纳
2000年
200个

# 回答1


大家好,
你有什么最新消息给我吗?如果要求不明确,一定要让我知道,在这里做出明确的帖子。谢谢
# 回答2


您尚未发布任何要分析的代码。
# 回答3


嗨,
感谢您的快速回复,并对没有尽早回复您表示歉意。招聘有了一些变化,下面是完整的细节。
我有一个包含以下数据的Oracle表:
标记名、标记值
空名史密斯
空号5102
SAL 600
第10号
Emname Jhon
空号4102
SAL 800
20号门牌
并且我的XML应该如下所示

选择 | 换行 | 行号
  1. <employeedetails>
  2.    <employee>
  3.     <empname>Smith</empname>
  4.     <empno>5102</empno>
  5.     <sal>600</sal>
  6.     <deptno>10</deptno>
  7.    </employee>
  8.    <employee>
  9.     <empname>john</empname>
  10.     <empno>4102</empno>
  11.     <sal>800</sal>
  12.     <deptno>20</deptno>
  13.    </employee>
  14. <employeedetails>

下面是我用来生成XML的代码

选择 | 换行 | 行号
  1. from xml.etree.ElementTree import Element, SubElement, Comment
  2. from xml.etree import ElementTree
  3. from xml.dom import minidom
  4. import cx_Oracle
  5.  
  6. def prettify(elem):
  7.     """Return a pretty-printed XML string for the Element.
  8.     """
  9.     rough_string = ElementTree.tostring(elem, 'utf-8')
  10.     reparsed = minidom.parseString(rough_string)
  11.     return reparsed.toprettyxml(indent="  ")
  12.  
  13. db = cx_Oracle.connect("username/pwd@servername") #Make it as a file read
  14. cursor = db.cursor()
  15. cursor.arraysize = 500
  16. cursor.execute("select * from employee") #Get the table name from input parameter
  17. top = Element('employeedetails')
  18. child = SubElement(top,'employee')
  19. for i in cursor:
  20.     sub_child = SubElement(child, i[1])
  21.     sub_child.text = i[2]
  22. print (prettify(top))

为了获得所需的输出,我得到了如下输出

选择 | 换行 | 行号
  1. <employeedetails>
  2.    <employee>
  3.     <empname>Smith</empname>
  4.     <empno>5102</empno>
  5.     <sal>600</sal>
  6.     <deptno>10</deptno>
  7.     <empname>john</empname>
  8.     <empno>4102</empno>
  9.     <sal>800</sal>
  10.     <deptno>20</deptno>
  11.    </employee>
  12. </employeedetails>

标签: python

添加新评论