【发布时间】:2019-09-18 14:18:30
【问题描述】:
我正在编写一个 Python 脚本,我需要在其中创建以下类型的数组。如何动态制作这种类型的数组?
types = [
Type('First'),
Type('Second'),
Type('Third', ['ThirdChild1', 'ThirdChild2']),
Type('Fourth', ['FourthChild1', 'FourthChild2', 'FourthChild3'])
]
这是 test.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>First</name>
</types>
<types>
<members>*</members>
<name>Second</name>
</types>
<types>
<members>ThirdChild1</members>
<members>ThirdChild2</members>
<name>Third</name>
</types>
<types>
<members>FourthChild1</members>
<members>FourthChild2</members>
<members>FourthChild3</members>
<name>Fourth</name>
</types>
<version>38.0</version>
</Package>
这就是从 xml 文件中获取名称和元素的方法
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
name = ET.Element("name")
members = ET.Element("members")
def retrieveType():
for elem in root:
for subelem in elem:
if name.tag == str(subelem.tag).split('}')[1]:
print('----------', subelem.text)
这个 subelem.text 有 members 和 name,我想将它们放入数组中。
【问题讨论】:
-
ET是什么?可以包含导入吗? -
谢谢,我更新了问题。
-
您的 XML 文档格式不正确,您能解决这个问题吗?
-
@Jab 谢谢,实际上结束标签没有正确缩进
标签: python arrays python-3.x xml-parsing