我试图解析从httpget请求返回的作为字符串的XML。我需要在XML结构中获取一个特定的链接,但是由于某些原因,我无法获得所需的链接。
我尝试了**enumerating**
XML并打印child.attrib
,但我需要的链接没有显示。在
我需要找到一个子元素的子元素,这个元素名为Vm,然后我需要得到这个元素的.attrib。在
因此,我做了更多的研究,并尝试按节点名查找所需的XML
XML结构是:
<vapp>
<link></link>
<othertags></othertags>
<Children>
<Vm href='link I need'>
<other tag options>
</other tag options>
</vm>
</Children>
</vapp>
python代码:
^{pr2}$无论我如何尝试,我都无法访问该网址。我只得到了vApp的主子元素,它从不解析标记,或者说我的代码从来没有比vApp的第一个子级更进一步,我不知道为什么。在
我想我不太清楚。我正在解析作为字符串返回的vCloud Director restapi XML。第一级是vApp-link,它本质上是vm的容器。我需要在每个vApp下得到VM链接。第一个程序将选择vApp链接并查询它们。在
一旦它在vApp链接上执行get请求,它将获得下一级的XML数据,这就是我在上面设置的结构。因此它传递初始XML语句并返回vApp信息。在
即使我打印出儿童属性fom vmlinkXML与vm的链接不会打印。但是,如果我只是打印r.content链接就在那里。就像XML解析器看不到标记一样。在
我在用PythonXML.etree
from lxml import etree
from xml.etree.ElementTree import XML, fromstring, tostring
因此,要弄清楚结构是:
获取vApp链接/api/admin/extension/vapps/query 然后返回的信息将包含vCloud中每个vapp的链接。 然后我叫vApp链接 https://vcloud.test.co/api/vApp/vapp-3b4980e7-c5ab-4462-9cfe-abc6292c15748 它将返回一个与此类似的结构:
<vapp>
<link></link>
<othertags></othertags>
<Children>
<Vm href='link I need'>
<other tag options>
</other tag options>
</vm>
</Children>
</vapp>
标记包含我需要查询的下一级链接。但是XML解析器儿童属性从不输出标签下的任何内容。在
解决***
相关问题 更多 >
编程相关推荐