Python JSON根据键查找父节点

时间:2017-03-21 05:21:08

标签: python json xmlrpclib parent-node

我有以下功能,它允许我搜索json并返回搜索到的键的值。

但是,我试图找到被搜索的密钥的实际parentNode并发现这有点困难。

def bar(somejson, key):
    def val(node):
        # Searches for the next Element Node containing Value
        e = node.nextSibling
        while e and e.nodeType != e.ELEMENT_NODE:
            e = e.nextSibling
        return (e.getElementsByTagName('string')[0].firstChild.nodeValue if e 
                else None)
    # parse the JSON as XML
    foo_dom = parseString(xmlrpclib.dumps((json.loads(somejson),)))
    # and then search all the name tags which are P1's
    # and use the val user function to get the value
    return [val(node) for node in foo_dom.getElementsByTagName('name') 
            if node.firstChild.nodeValue in key]

我尝试使用parentNode而不是firstChild,但它不起作用。我知道哪里出错了?

0 个答案:

没有答案