下面的xml是作为web服务和端点的响应提供的。你知道吗
<ns2:getModuleAnswersResponse xmlns:ns2="http://www.example.com/ManagerService">
<ns2:answer>
<ns2:answer key="storage">
<ns2:value key="failover">true</ns2:value>
<ns2:answer key="timeseries">
<ns2:answer key="socketconnector">
<ns2:value key="host">localhost</ns2:value>
<ns2:value key="port">2020</ns2:value>
</ns2:answer>
</ns2:answer>
</ns2:answer>
<ns2:answer key="frontendws">
<ns2:answer key="tomcat">
<ns2:value key="host">localhost</ns2:value>
<ns2:value key="protocol">http</ns2:value>
<ns2:value key="username">user</ns2:value>
<ns2:value key="password">abc</ns2:value>
</ns2:answer>
<ns2:value key="instance">WS</ns2:value>
</ns2:answer>
<ns2:answer key="topologyservice">
<ns2:value key="host">localhost</ns2:value>
<ns2:answer key="gateway2">
<ns2:value key="host">localhost</ns2:value>
<ns2:value key="port">48443</ns2:value>
<ns2:value key="authentication">certificate</ns2:value>
</ns2:answer>
</ns2:answer>
<ns2:answers key="connection">
<ns2:answer>
<ns2:answer key="primary">
<ns2:answer key="vcenter">
<ns2:value key="host">localhost</ns2:value>
<ns2:value key="username">admin</ns2:value>
<ns2:value key="password">abc</ns2:value>
</ns2:answer>
</ns2:answer>
</ns2:answer>
</ns2:answers>
<ns2:value key="use_advancedsettings">false</ns2:value>
</ns2:answer>
</ns2:getModuleAnswersResponse>
需要用python解析此XML以提供此格式的响应。你知道吗
{'storage':
{'failover': 'true', 'timeseries':
{'socketconnector':
{'host': 'localhost',
'port': '2020'
}
}
},
'frontendws':
{'tomcat':
{ 'host': 'localhost',
'port': '2020',
'username': 'user',
'password': 'abc'
}, 'instance': 'WS'
},
'topologyservice':
{'host': 'localhost',
'gateway2':
{'host': 'localhost',
'username': 'admin',
'password': 'abc'
}
},
'connection':
{'primary':
{'vcenter':
{'host': 'localhost',
'username': 'admin',
'password': 'abc'
}
}
},
'use_advancedsettings': 'false'
}
这是表示XML的旧方法。我在python中使用lxml迭代尝试了不同的递归方法,但没有得到正确的结果。寻找python解决方案
能够找到给定问题的递归解。这会优先考虑属性和值,并对标记执行DFS。你知道吗
相关问题 更多 >
编程相关推荐