예제 #1
0
 def loads(self,s):
     """Load object from a string *s*.
 Loaded object is returned.
 This is a convenience method that reads the dom document, calls *retrieve*
 and frees the reference tables."""
     self.cleanReftables()
     e=dom.parseString(s).documentElement
     val=self.retrieve(e)
     self.cleanReftables()
     return val;
예제 #2
0
파일: util.py 프로젝트: MSELRai/p4vasp
def parseXMLString(txt):
    """
    Return DOM Document object for xml string *txt* .

    This is a wrapper to parsing function for some DOM parser.
    ODPdom is used by default.
    Change parseXML and parseXMLString if you want to use a different DOM parser.
    """
    if use_odpdom:
        return ODPdom.parseString(txt)
    else:
        msg().message("WARNING: ODPdom is not working, using minidom.")
        return xml.dom.minidom.parseString(txt)
예제 #3
0
파일: util.py 프로젝트: MSELRai/p4vasp
def parseXML(path):
    """
    Return DOM Document object for xml file given by path.

    This is a wrapper to parsing function for some DOM parser.
    ODPdom is used by default.
    Change parseXML and parseXMLString if you want to use a different DOM parser.
    """
    import os.path
    if not os.path.exists(path):
        raise IOError, "No such file or directory: '%s'" % path
    if use_odpdom:
        return ODPdom.parseFile(path)
    else:
        msg().message("WARNING: ODPdom is not working, using minidom.")
        return xml.dom.minidom.parse(path)
예제 #4
0
파일: util.py 프로젝트: MSELRai/p4vasp
def getChildrenByTagName(elem, tag, name=None):
    """
    Searches the children of *elem* for element nodes
    with the tagname *tag* and optionaly with the attribute "name"
    having the value *name*.
    """
    try:
        r = ODPdom.ChildrenByTagNameList(elem, tag)
        if name:
            #      print "return filtered ODPdom.ChildrenByTagNameList"
            return filter(lambda x, name=name: x.getAttribute("name") == name,
                          r)
        else:
            return r
    except:
        #    print "ODPdom.ChildrenByTagNameList failed"
        if name:
            f=lambda x,tag=tag,name=name:(x.nodeName==tag) and\
                                         (x.nodeType==x.ELEMENT_NODE) and\
                                         (x.getAttribute("name")==name)
        else:
            f = lambda x, tag=tag: (x.nodeName == tag) and (x.nodeType == x.
                                                            ELEMENT_NODE)
        return filter(f, elem.childNodes)