- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
可能是一个非常简单的问题 - 但我是 python/xml 新手,似乎找不到适合我的答案。
我正在尝试解析 xml 值并从 xml 响应中解析,如下所示
#!/usr/bin/python3
from xml.etree import cElementTree as ET
xmlstr = """<?xml version="1.0" encoding="utf-8"?>
<biwsXML_response type="find">
<clientdata>
<message></message>
<query>jurnamn:Acme Ltd</query>
<wpquery></wpquery>
<wpfilter></wpfilter>
</clientdata>
<records total="1">
<record nr="1">
<nummer>9990874474</nummer>
<orgnr>9990874474</orgnr>
<jurnamn>Acme1 Ltd</jurnamn>
<ba_postort>Täby</ba_postort>
<abv_ugrupp></abv_ugrupp>
</record>
<record nr="2">
<nummer>9890874474</nummer>
<orgnr>9890874474</orgnr>
<jurnamn>Acme2 Ltd</jurnamn>
<ba_postort>Täby</ba_postort>
<abv_ugrupp></abv_ugrupp>
</record>
</records>
</biwsXML_response>
"""
biwsXML_response = ET.fromstring(xmlstr)
for records in list(biwsXML_response):
orgnr = records.find('orgnr').text
jurnamn = records.find('jurnamn').text
print('orgnr: %s; jurnamn: %s' % (orgnr, jurnamn))
当我测试时,出现以下错误。
Traceback (most recent call last):
File "read_xml_tst2.py", line 31, in <module>
orgnr = records.find('orgnr').text
AttributeError: 'NoneType' object has no attribute 'text'
我知道我没有找到值“NoneType”,但我不明白错误是什么。感谢您的帮助。
最佳答案
问题是您必须在 XML 树中进一步深入。要访问 orgnr
,您必须先进入 records
,然后进入 record
:
这应该对您有帮助:
for record in biwsXML_response.find('records').findall('record'):
orgnr = record.find('orgnr').text
jurnamn = record.find('jurnamn').text
print('orgnr: %s; jurnamn: %s' % (orgnr, jurnamn))
关于python - 使用 xml.etree 解析 XML 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511939/
lxml提供了一些不同的函数来解析字符串。其中两个,etree.fromstring()和 etree.XML() ,看起来很像。前者的文档字符串说它用于解析“字符串”,而后者是“字符串常量”。此外,
我有一个使用 lxml.etree 解析 XML 的脚本: from lxml import etree parser = etree.XMLParser(load_dtd=True, resolve
我一直在将我的一些原始 xml.etree.ElementTree (ET) 代码转换为 lxml.etree (lxmlET )。幸运的是,两者之间有很多相似之处。 但是,我确实偶然发现了一些我在任
是否有任何解决方案可以添加不带前缀的命名空间(我的意思是这些 ns0、ns1),它们适用于所有 etree 实现,或者每个实现都有可行的解决方案? 目前我有以下解决方案: lxml - 元素的 nsm
我正在使用 aws 的 Alexa api,但我发现很难解析结果以获得我想要的内容 alexa api 返回一个对象树 我使用此代码来打印树 from lxml import etree root
当涉及到模块/库时,为了可读性,我喜欢在 python 中使用完整的命名空间。我想知道为什么这对 xml 库不起作用。我认为 import xml 还将导入 etree 和命名空间中的所有其他内容。至
我有一个从 etree 元素返回列表的函数,但它不会查看嵌套元素。 (我正在
尝试从 serpscrap 包运行示例 .py 时出现错误。 我在 Pythonista 中使用 iPhoneX。 如有任何帮助,我们将不胜感激。 这是回溯 Traceback (most recen
如何删除或移除 server1 的所有条目,包括标签?我尝试使用 etree 删除功能,但它没有帮助
我试图将多个文件写入一个目录,每个文件之间几乎没有变化(例如增量ID号)当我尝试运行我的程序时,它在写入大约5个文件后失败。但是当我再次尝试并重新选择源文件时,它就有效了。这是我的代码: if not
如何在 Python xml.etree 中克隆 Element 对象?我正在尝试按程序移动和复制(然后修改它们的属性)节点。 最佳答案 您可以使用 copy.deepcopy()制作元素的副本。 (
我正在创建一个简单的脚本来使用特定模式解析、验证、修复和重新打印 XML 文件。整个过程运行良好,但问题是当我打印修改后的 ElementTree 时,它会删除我所有的实体引用。 这是简化的 py
xml文件结构如下 我的解析器首先获取所有 元素 from lxml import etr
在Relationship下,我只想保留具有TO_FDN="FtpServer=,并删除所有其他内容。如何在 python 2.6 中使用 etree 来做到这一点?
尝试使用 lxml 生成 xml 文件。 在 API 文档中指出 xmlfile 类存在: http://lxml.de/api/lxml.etree.xmlfile-class.html 我使用导入
我想在 Python 中创建一个像这样的元素树: 我想将其用作一个空模板,以便稍后使用。但是,我无法插入或附加多个 元素到元素,不过 etree.SubElement作品。更具体
我有一个脚本,它使用 xml.etree.ElementTree 来解析 XML 文件,并且应该向元素添加一个子元素。我有两种方法,这两种方法在技术上都有效,但当我使用 ET.dump(root) 转
我有一个 XML 格式的 ISM 文件(InstallShield 项目)。 我需要更改文件中的一些属性,因此我使用了 xml.etree.ElementTree(Python 库)。 我可以找到这些
我正在遍历 XML 树,但从树中提取节点而留下其内部节点时遇到了一些麻烦。 例如:
为了向现有元素添加新的子元素,我必须调用类方法,并将父元素作为参数。我希望子元素的创建是即将成为父元素的实例方法,并将子元素(来自 Element 构造函数)作为唯一的形式参数。 实际: #!/usr
我是一名优秀的程序员,十分优秀!