我有一个来自系统之一的xml响应,我正在尝试使用python代码获取该值。需要专家观点来突出我的错误。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns3:loginResponse xmlns:ns2="http://ws.core.product.xxxxx.com/groupService/" xmlns:ns3="http://ws.core.product.xxxxx.com/loginService/" xmlns:ns4="http://ws.core.product.xxxxx.com/userService/"><ns3:return>YWeVDwuZwHdxxxxxxxxxxx_GqLtkNTE.</ns3:return></ns3:loginResponse>
我使用下面的代码,没有运气获得值-YWeVDwuZwHdxxxxxxxxxxx_GqLtkNTE
。我还没有使用XML解析命名空间。 response.text具有以上xml响应。
responsetree = ET.ElementTree(ET.fromstring(response.text))
responseroot = responsetree.getroot()
for a in root.iter('return'):
print(a.attrib)
答案 0 :(得分:0)
load csv with headers from "file:///day.csv" as line
MERGE (a:Person {person: line.person})
MERGE (b:Place{place: line.place, address: line.address, incident: line.incident, })
MERGE (a)-[:DAY {day:line.day}]->(b)
不在YWeVDwuZwHdxxxxxxxxxxx_GqLtkNTE
中。这是元素attrib
在这种情况下,属性是一个空的字典
有关使用命名空间解析XML dic的信息,请参见https://www.cmi.ac.in/~madhavan/courses/prog2-2012/docs/diveintopython3/xml.html。
答案 1 :(得分:0)
从其他答案中引用有助于理解这些概念。
一旦我了解了xml结构,它简单明了。仅添加输出可能会在将来对某人有所帮助,以供快速参考。
responsetree = ET.ElementTree(ET.fromstring(response.text))
responseroot = responsetree.getroot()
root[0].text
保持简单易懂。您可能需要找到len(root)
和/或使用条件遍历循环以获得apt值。您还可以将findall
,find
与一起使用以获得感兴趣的项目。