0

我目前正在进行一个不是我的项目并且需要更新,我被困在这里,试图将 rpc-reply 解析为字符串,以便可以将其解析为 xml。整个项目是由其他人编写的,他/她使用 Python 2,现在我需要使用 Python 3.6,但它不起作用。我尝试了一些我在网上找到的替代方法,但它们都不起作用(例如这个https://mihird.com/parsing-junos-rpc-reply-with-beautifulsoup4/)。

这些是给我带来问题的功能,响应参数是<class 'ncclient.operations.rpc.RPCReply'>.

def is_successful(response):
    import io
    doc = parsexml_(io.StringIO(response))
    rootNode = doc.getroot()
    success_list = rootNode.xpath("//*[local-name()='ok']")
    if len(success_list) > 0:
        return True, None
    else:
        reason_return = ''
        reason_list = rootNode.xpath("//*[local-name()='error-message']")
        for reason in reason_list:
            reason_return = '%s %s' % (reason_return, reason.text)
        return False, reason_return


def parsexml_(*args, **kwargs):
    if 'parser' not in kwargs:
        kwargs['parser'] = ET.ETCompatXMLParser()
    doc = ET.parse(*args, **kwargs)
    return doc

非常感谢您提前提供的帮助!

4

0 回答 0