如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

希拉尼娅·卡维沙尼

如何使用 python xml.etree.ElementTree 通过正确的 xpath 获取值

这是“soap.xml”文件

    <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
        <platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2014_1.platform.webservices.netsuite.com">
            <platformMsgs:nsId>WEBSERVICES_3883026_SB1_103120188552030381995151284_f039e9cc</platformMsgs:nsId>
        </platformMsgs:documentInfo>
    </soapenv:Header>
    <soapenv:Body>
        <searchResponse xmlns="urn:messages_2014_1.platform.webservices.netsuite.com">
            <platformCore:searchResult xmlns:platformCore="urn:core_2014_1.platform.webservices.netsuite.com">
                <platformCore:status isSuccess="true"/>
                <platformCore:totalRecords>200</platformCore:totalRecords>
                <platformCore:pageSize>1000</platformCore:pageSize>
                <platformCore:totalPages>1</platformCore:totalPages>
                <platformCore:pageIndex>1</platformCore:pageIndex>
                <platformCore:searchId>WEBSERVICES_3883026_SB1_103120188552030381995151284_f039e9cc</platformCore:searchId>
            </platformCore:searchResult>
        </searchResponse>
    </soapenv:Body>
</soapenv:Envelope>

这是我的代码。

    import xml.etree.ElementTree as ET
    tree = ET.parse('soap.xml') 
    print  tree.findall('.//{http://schemas.xmlsoap.org/soap/envelope/}platformCore')

但它返回 [] 而不是 value = '200'

莫里斯·迈耶

您需要使用正确的命名空间(nsmap),然后您可以使用前缀轻松搜索:

from lxml import etree
tree = etree.parse('soap.xml')
nsmap = {'platformCore': 'urn:core_2014_1.platform.webservices.netsuite.com'}
print (tree.findall('.//platformCore:totalRecords', nsmap)[0].text)

返回:

200

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 Python xml.etree.ElementTree 遍历 XML 树的问题

来自分类Dev

在Python中,如何使用xml.etree.ElementTree创建数据框?

来自分类Dev

Python xml.etree.ElementTree 问题

来自分类Dev

从Python中的XML数据创建字典(使用xml.etree.ElementTree)

来自分类Dev

如何使用xml.etree.ElementTree Python格式化属性,前缀和标签

来自分类Dev

如何使用python(xml.etree.ElementTree)解决下一个迭代?

来自分类Dev

如何在python xml.etree.ElementTree中的迭代器中删除节点

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

使用 Python 3 ElementTree 的 XML 文档中的多个命名空间

来自分类Dev

python(xml.etree.ElementTree)中的XML解析

来自分类Dev

使用xml.etree.ElementTree的Python xml解析不起作用

来自分类Dev

xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

来自分类Dev

如何使用xml.etree.ElementTree有条件地将属性插入Python中的节点

来自分类Dev

使用xml.etree.ElementTree(python)解析XML时,如何区分常规空格和转义空格(&#32;)

来自分类Dev

python xml.etree.ElementTree追加到子元素

来自分类Dev

xml.etree.ElementTree getElementByID()?

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

使用xml.etree.ElementTree搜索XML元素树的属性

来自分类Dev

xml.etree.ElementTree iterparse()仍在使用大量内存?

来自分类Dev

使用html5lib和xml.etree.ElementTree

来自分类Dev

无法使用xml.etree.ElementTree解析html

来自分类Dev

使用Python模块xml.etree.ElementTree解析有点复杂的XML并将值存储在List中

来自分类Dev

使用xml.etree.ElementTree获取文件中的XML标签列表

来自分类Dev

Python - 可以重命名 xml.etree.ElementTree.iter() 以实现 2.6 向后兼容性吗?

来自分类Dev

如何使用 xml.etree.ElementTree 在 xml 文件上添加子子项

来自分类Dev

如何使用 xml.etree.ElementTree 解析 XML 文件,其子项中有 HTML 内容

Related 相关文章

  1. 1

    使用 Python xml.etree.ElementTree 遍历 XML 树的问题

  2. 2

    在Python中,如何使用xml.etree.ElementTree创建数据框?

  3. 3

    Python xml.etree.ElementTree 问题

  4. 4

    从Python中的XML数据创建字典(使用xml.etree.ElementTree)

  5. 5

    如何使用xml.etree.ElementTree Python格式化属性,前缀和标签

  6. 6

    如何使用python(xml.etree.ElementTree)解决下一个迭代?

  7. 7

    如何在python xml.etree.ElementTree中的迭代器中删除节点

  8. 8

    如何使用xml.etree.ElementTree访问标签之间的文本

  9. 9

    如何使用xml.etree.ElementTree访问标签之间的文本

  10. 10

    使用 Python 3 ElementTree 的 XML 文档中的多个命名空间

  11. 11

    python(xml.etree.ElementTree)中的XML解析

  12. 12

    使用xml.etree.ElementTree的Python xml解析不起作用

  13. 13

    xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

  14. 14

    如何使用xml.etree.ElementTree有条件地将属性插入Python中的节点

  15. 15

    使用xml.etree.ElementTree(python)解析XML时,如何区分常规空格和转义空格(&#32;)

  16. 16

    python xml.etree.ElementTree追加到子元素

  17. 17

    xml.etree.ElementTree getElementByID()?

  18. 18

    xml.etree.ElementTree findall

  19. 19

    xml.etree.ElementTree findall

  20. 20

    使用xml.etree.ElementTree XML解析子元素

  21. 21

    使用xml.etree.ElementTree搜索XML元素树的属性

  22. 22

    xml.etree.ElementTree iterparse()仍在使用大量内存?

  23. 23

    使用html5lib和xml.etree.ElementTree

  24. 24

    无法使用xml.etree.ElementTree解析html

  25. 25

    使用Python模块xml.etree.ElementTree解析有点复杂的XML并将值存储在List中

  26. 26

    使用xml.etree.ElementTree获取文件中的XML标签列表

  27. 27

    Python - 可以重命名 xml.etree.ElementTree.iter() 以实现 2.6 向后兼容性吗?

  28. 28

    如何使用 xml.etree.ElementTree 在 xml 文件上添加子子项

  29. 29

    如何使用 xml.etree.ElementTree 解析 XML 文件,其子项中有 HTML 内容

热门标签

归档