python_lxml 从xml字符串中获取指定节点信息

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:40   1141   0
from lxml import etree

class XmlData(object):
    # 通过xpath获取指定xml信息
    def get_xml_by_xpath(self, str_xmldata, xpath_node):
        """
        从XML字符串中,根据xpath 获取指定节点信息
        str_xmldata:string类型的XML字符串
        xpath_node:节点使用xpath定位
        """
        list_result = []
       
        try:
            # 将string类型的xml数据转化为xml格式
            xml_data = etree.XML(str_xmldata)
            list_result = xml_data.xpath(xpath_node)
            return list_result
        except Exception as e:
            log.error("XML-通过xpath获取指定节点信息错误,错误原因:" + str(e))
            return list_result

if __name__ == '__main__':
    str_xml = """
    <soap:Envelope xmlns:soap="http://baidu.com/">
    <soap:Body>
        <ns1:custsearch xmlns:ns1="webservice.cust.com">
            <resData>{"customerIdList":[],"customerList":["a1","b2","c3","d4","e5","f6"],"firstResult":1,"maxResults":11,"status":true}</resData>
        </ns1:custsearch>
    </soap:Body>
</soap:Envelope>
    """
    list_data = XmlData.get_xml_by_xpath(str_xml, "//resData/text()")
    print(list_data)


推荐我看过的优秀博客

1》xpath元素定位:https://www.cnblogs.com/it-tsz/p/8899161.html

2》xml节点增删改查,存储xml文件:lxml / dom.minidom 读写XML字符 | Python - PythonicPG - 博客园 (cnblogs.com)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP