如何在Python中从字符串解析未匹配的XML
我想获取AWS上区域中的所有记录。如何在Python中从字符串解析未匹配的XML,xml,python-2.7,amazon-web-services,xml-parsing,amazon-route53,Xml,Python 2.7,Amazon Web Services,Xml Parsing,Amazon Route53,我想获取AWS上区域中的所有记录。get_records()的结果不完全是XML格式。我想从字符串(域名和IP地址)解析XML。我做错什么了吗?谁能帮我一下吗 示例:XML字符串 查看lxml库,特别是etree.fromstring()函数。@VergeA:还有其他选择吗?我用的是Python2.x。在尝试安装lxml时获得如此多的依赖项(所有这些依赖项都不适用于我的Python版本)。看起来它只对Python3有效。“只对Python3有效”是绝对不正确的。您使用的是2的哪个版本?如果您有2
get_records()
的结果不完全是XML格式。我想从字符串(域名和IP地址)解析XML。我做错什么了吗?谁能帮我一下吗
示例:XML字符串
查看
lxml
库,特别是etree.fromstring()
函数。@VergeA:还有其他选择吗?我用的是Python2.x。在尝试安装lxml
时获得如此多的依赖项(所有这些依赖项都不适用于我的Python版本)。看起来它只对Python3有效。“只对Python3有效”是绝对不正确的。您使用的是2的哪个版本?如果您有2.7,您可以在这里找到一个具有依赖项的预编译版本:此外,您上面的错误实际上似乎是由于您传递给ET的i
函数类型为Record
。您应该先将其转换为字符串/从记录中提取任何文本内容。@VergeA:谢谢您的建议。我整理好了。请查看lxml
库,特别是etree.fromstring()
函数。@VergeA:还有其他选择吗?我用的是Python2.x。在尝试安装lxml
时获得如此多的依赖项(所有这些依赖项都不适用于我的Python版本)。看起来它只对Python3有效。“只对Python3有效”是绝对不正确的。您使用的是2的哪个版本?如果您有2.7,您可以在这里找到一个具有依赖项的预编译版本:此外,您上面的错误实际上似乎是由于您传递给ET的i
函数类型为Record
。您应该先将其转换为字符串/从记录中提取任何文本内容。@VergeA:谢谢您的建议。我把它整理好了。
import boto.route53.connection
import xml.etree.ElementTree as ET
conn = boto.route53.connection.Route53Connection(aws_access_key_id = 'xxxx',aws_secret_access_key = 'xxxx')
zone = conn.get_zone('<example>.com')
records = zone.get_records()
for i in records:
root = ET.fromstring(i)
print(root)
self._parser.Parse(data, 0)
TypeError: Parse() argument 1 must be string or read-only buffer, not Record