在Python中使用ElementTree从xml获取数据
我试图从xml文件中提取一些数据。下面给出了xml的外观在Python中使用ElementTree从xml获取数据,python,xml,python-3.x,elementtree,Python,Xml,Python 3.x,Elementtree,我试图从xml文件中提取一些数据。下面给出了xml的外观 <?xml version="1.0" encoding="UTF-8"?> <Stores> <Store> <Action>new</Action> <StoreID>1001</StoreID> <EmpID/> <Agent> <Name/> <EmpName>Scott</EmpN
<?xml version="1.0" encoding="UTF-8"?>
<Stores>
<Store>
<Action>new</Action>
<StoreID>1001</StoreID>
<EmpID/>
<Agent>
<Name/>
<EmpName>Scott</EmpName>
</Name>
<BillData>
<BillInfo>
<Action>new</Action>
<CustName></CustName>
<BillNumber>3343</BillNumber>
</BillInfo>
</BillData>
</Store>
</Stores>
输出如下:
Action
new
StoreID
1001
Agent
BillData
我试图提取子级的数据。有人能告诉我如何提取“BillInfo”下存储的数据吗
Action
new
CustName
BillNumber
3343
如果希望递归地迭代XML树中的所有元素,则应使用该方法。类似于以下内容的内容应该可以满足您的需求:
import xml.etree.ElementTree as ET
tree = ET.parse('file.xml')
for elem in tree.iter():
print(elem.tag)
print(elem.text)
实现所需功能的简单递归函数:
import xml.etree.ElementTree as ET
tree = ET.parse('file.xml')
root = tree.getroot()
search(root)
def search(elem):
for e in elem:
print(e.tag)
print(e.text)
search(e)
谢谢你的帮助。。你能不能帮我把标签添加到一个栏目里,并在下面写上文字……谢谢你的帮助。。你能帮我修改一下视图吗?这样标签就是标题,我们在标题下有相应的文本。
import xml.etree.ElementTree as ET
tree = ET.parse('file.xml')
root = tree.getroot()
search(root)
def search(elem):
for e in elem:
print(e.tag)
print(e.text)
search(e)