如何用Python3解析xml无法获取可读的子信息

如何用Python3解析xml无法获取可读的子信息,python,xml,Python,Xml,我正在使用Python3解析xml文档。当我打印“主机”标签之间的数据时。我得到了`。如何获取元素所持有的字符串数据 当我在Google中查看文档时,我可以深入到“主机”元素的属性,并查看: tagName: "Host" textContent: "10.10.1.115" 结果5.5.5.5 IPv4 IP 我的XML代码: X-RDP-server INSE-AA01VRDP014 INSE-AA01VRDP033 INSE-AA01VRDP046 IPv4 I-SYSLOG A-SPI

我正在使用Python3解析xml文档。当我打印“主机”标签之间的数据时。我得到了`。如何获取元素所持有的字符串数据

当我在Google中查看文档时,我可以深入到“主机”元素的属性,并查看:

tagName: "Host" textContent: "10.10.1.115" 结果5.5.5.5 IPv4 IP

我的XML代码:

X-RDP-server
INSE-AA01VRDP014
INSE-AA01VRDP033
INSE-AA01VRDP046
IPv4
I-SYSLOG
A-SPIPLOG01
A-SPIPSEC04
A-硝基
IPv4
X-DMZ-LOCAL
内置SPIVDD011
内置SPIVDD021
IPv4
I-WIFI
10.23.0.0
IPv4
X服务器
10.33.0.0
10.43.0.0
10.1.24.0
10.55.2.0
IPv4

您的问题不清楚,但您可能正在寻找以下内容:

for x in myroot.xpath('//Name'):
    print("Name: ",x.text)
    for host in x.xpath('./following-sibling::HostList//Host'):
        print("Host: ",host.text)
    for family in x.xpath('./following-sibling::IPFamily'):
        print("IP Family: ",family.text)
输出(基于示例xml,经过正确验证):


等等。

您也需要展示您的XML(制作一个有意义的示例)。您必须编辑您的问题,并发布一个具有代表性的
IPHost-1.XML
示例。这是否回答了您的问题?谢谢你,杰克!你的输出正是我想要的。我感谢你尝试回答我的问题-你是对的-它不是很清楚。我已经调整了我的问题,所以我希望它更容易理解。我是Python新手,教mysel,因此我很欣赏这些建设性的批评,并将努力使我的问题更清晰、更简洁。@Wiestrush您能编辑您的问题并添加示例xml的准确预期输出吗?
<Name>X-RDP-SERVERS</Name>
<Description/>
<HostList>
  <Host>INSE-AA01VRDP014</Host>
  <Host>INSE-AA01VRDP033</Host>
  <Host>INSE-AA01VRDP046</Host>
</HostList>
<IPFamily>IPv4</IPFamily>   </IPHostGroup>   <IPHostGroup>
<Name>I-SYSLOG</Name>
<Description/>
<HostList>
  <Host>A-SPIPLOG01</Host>
  <Host>A-SPIPSEC04</Host>
  <Host>A-NITRO</Host>
</HostList>
<IPFamily>IPv4</IPFamily>   </IPHostGroup>   <IPHostGroup>
<Name>X-DMZ-LOCAL</Name>
<Description/>
<HostList>
  <Host>INSIDE-SPIVDD011</Host>
  <Host>INSIDE-SPIVDD021</Host>
</HostList>
<IPFamily>IPv4</IPFamily>   </IPHostGroup>   <IPHostGroup>
<Name>I-WIFI</Name>
<Description/>
<HostList>
  <Host>10.23.0.0</Host>
</HostList>
<IPFamily>IPv4</IPFamily>   </IPHostGroup>   <IPHostGroup>
<Name>X-SERVERS</Name>
<Description/>
<HostList>
  <Host>10.33.0.0</Host>
  <Host>10.43.0.0</Host>
  <Host>10.1.24.0</Host>
  <Host>10.55.2.0</Host>
</HostList>
<IPFamily>IPv4</IPFamily>   </IPHostGroup> </IPGroupList>
for x in myroot.xpath('//Name'):
    print("Name: ",x.text)
    for host in x.xpath('./following-sibling::HostList//Host'):
        print("Host: ",host.text)
    for family in x.xpath('./following-sibling::IPFamily'):
        print("IP Family: ",family.text)
Name:  X-RDP-SERVERS
Host:  INSE-AA01VRDP014
Host:  INSE-AA01VRDP033
Host:  INSE-AA01VRDP046
IP Family:  IPv4