当前位置: 首页>>代码示例>>Python>>正文


Python TreeBuilder.data方法代码示例

本文整理汇总了Python中xml.etree.ElementTree.TreeBuilder.data方法的典型用法代码示例。如果您正苦于以下问题:Python TreeBuilder.data方法的具体用法?Python TreeBuilder.data怎么用?Python TreeBuilder.data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xml.etree.ElementTree.TreeBuilder的用法示例。


在下文中一共展示了TreeBuilder.data方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
  def __init__(self, filename):
    """ Opens file the parser needs to read from """
    self.filename = filename.replace(".jack", "")
    try:
      inFile = open(filename, 'r')
      self.code = inFile.read()
      inFile.close()
    except IOError:
      print "Unable to open input file."
      exit(-2)
      
    # Setup the Element Tree
    builder = TreeBuilder()
    builder.start("tokens", {})
    builder.data("\n")
    self.etree = ElementTree(builder.end("tokens"))
	 
    # Remove Comments
    self.removeComments()
    
    # Strip
    self.code = str.strip(self.code)
    
    # Set up enum of token types
    self.KEYWORDS = r'(\Aclass\b)|(\Aconstructor\b)|(\Afunction\b)|(\Amethod\b)|(\Afield\b)|(\Astatic\b)|(\Avar\b)|(\Aint\b)|(\Achar\b)|(\Aboolean\b)|(\Avoid\b)|(\Atrue\b)|(\Afalse\b)|(\Anull\b)|(\Athis\b)|(\Alet\b)|(\Ado\b)|(\Aif\b)|(\Aelse\b)|(\Awhile\b)|(\Areturn\b)'
    self.SYMBOLS = '[(\{)|(\})|(\()|(\))|(\[)|(\])|(\.)|(,)|(;)|(\+)|(\-)|(\*)|(\/)|(&)|(|)|(<)|(>)|(=)|(~)]'
    
    # Set up token as blank
    self.token = 'null'
    self.tokenType = 'NULL'
开发者ID:cloew,项目名称:cs498,代码行数:32,代码来源:Tokenizer.py

示例2: XmppXmlHandler

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
class XmppXmlHandler(object):
    STREAM_TAG='{http://etherx.jabber.org/streams}stream'

    def __init__(self):
        self._stack = 0
        self._builder = TreeBuilder()
        self._results = deque()

    def data(self, data):
        self._builder.data(data)

    def start(self, tag, attrib):
        if tag == self.STREAM_TAG:
            return

        self._builder.start(tag, attrib)
        self._stack += 1

    def end(self, tag):
        self._stack -= 1
        elem = self._builder.end(tag)

        if self._stack == 0:
            self._results.append(elem)

    def get_elem(self):
        """If a top-level XML element has been completed since the last call to
        get_elem, return it; else return None."""
        try:
            return self._results.popleft()
        except IndexError:
            return None
开发者ID:richvdh,项目名称:cloudprint,代码行数:34,代码来源:xmpp.py

示例3: __init__

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
  def __init__(self, filename):
    """ Opens file the parser needs to read from """
    self.filename = filename.replace(".jack", "")
    try:
      inFile = open(filename, 'r')
      self.code = inFile.read()
      inFile.close()
    except IOError:
      print "Unable to open input file."
      exit(-2)
      
    # Setup the Element Tree
    builder = TreeBuilder()
    builder.start("tokens", {})
    builder.data("\n")
    self.etree = ElementTree(builder.end("tokens"))
	 
    # Remove Comments
    self.removeComments()
    
    # Strip
    self.code = str.strip(self.code)
    
    # Set up enum of token types
    self.KEYWORDS = '(class)|(constructor)|(function)|(method)|(field)|(static)|(var)|(int)|(char)|(boolean)|(void)|(true)|(false)|(null)|(this)|(let)|(do)|(if)|(else)|(while)|(return)'
    self.SYMBOLS = '[(\{)|(\})|(\()|(\))|(\[)|(\])|(\.)|(,)|(;)|(\+)|(\-)|(\*)|(\/)|(&)|(|)|(<)|(>)|(=)|(~)]'
    
    # Set up token as blank
    self.token = 'null'
    self.tokenType = 'NULL'
开发者ID:cloew,项目名称:cs498,代码行数:32,代码来源:Tokenizer.py

示例4: compileClass

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def compileClass(self):
   """ Compiles a complete class """
   if (self.DEBUG): print "Compiling class"
   
   # Add non-terminal break for the class
   builder = TreeBuilder()
   builder.start("class", {})
   builder.data("\n")
   self.etree = ElementTree(builder.end("class"))
   self.head.append(self.etree.getroot())
   
   # Check for class keyword
   self.validateAndRead("keyword", "class")
   
   # Check for identifier
   self.validateAndRead("identifier")
       
   # Check for { symbol
   self.validateAndRead("symbol", '{')
   
   # Check for Class Vars
   while (self.compileClassVarDec()):
     """ BLANK ON PURPOSE!!! """
       
   # Check for Subroutines
   while (self.compileSubroutine()):
     """ BLANK ON PURPOSE!!! """
     
    
   # Check for } symbol
   self.validateAndRead("symbol", '}')
开发者ID:cloew,项目名称:cs498,代码行数:33,代码来源:CompilationEngine.py

示例5: dumpGEXF

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def dumpGEXF(self,targetfp,projectName):
     self.ensureDumpBase()
     tb=TreeBuilder()
     tb.start("gexf",{"xmlns":"http://www.gexf.net/1.2draft","version":"1.2"})
     tb.start("meta",{"lastmodifieddate":str(datetime.datetime.now())})
     tb.start("creator",{})
     tb.data("LAVI Collector")
     tb.end("creator")
     tb.start("description",{})
     tb.data(projectName)
     tb.end("description")
     tb.end("meta")
     tb.start("graph",{"mode":"dynamic","start":formatTstamp(self.mint),"end":formatTstamp(self.maxt)})
     tb.start("nodes",{})
     for id,email,mint,maxt in self.nodesIterator():
         tb.start("node",{"id":id,"label":email,"start":formatTstamp(mint),"end":formatTstamp(maxt)})
         tb.end("node")
     tb.end("nodes")
     tb.start("edges",{})
     for id,sender,rec,tstamp in self.edgesIterator():
         tb.start("edge",{"id":id, "source":sender,"target":rec,"start":formatTstamp(tstamp),"end":formatTstamp(tstamp)})
         tb.end("edge")
     tb.end("edges")
     tb.end("graph")
     tb.end("gexf")
     et=ElementTree(tb.close())
     et.write(targetfp, encoding="UTF-8")
开发者ID:mehmetgencer,项目名称:network-data-collector,代码行数:29,代码来源:collectorNNTP.py

示例6: build

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
    def build(self, root=None):
        if root is None:
            was_root = True
            root = TreeBuilder()
        else:
            was_root = False

        root.start(self.tagname(), self.attrs())
        for i, child in enumerate(self.children):
            if isinstance(child, HTMLBuilder):
                child.build(root=root)
            else:
                if i in self._formatted:
                    try:
                        proxy = TreeProxy(root)
                        parser = XMLParser(html=True, target=proxy)
                        parser.feed(child)
                        proxy.cleanup()
                    except Exception as e:
                        print("Bad formatting", e)
                        root.data(str(child))
                else:
                    root.data(str(child))
        root.end(self.tagname())

        if was_root:
            root = root.close()
            return str(tostring(root, method="html").decode('utf-8'))
开发者ID:ESGF,项目名称:output_viewer,代码行数:30,代码来源:htmlbuilder.py

示例7: parse

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
    def parse(self, encoding=None, errors='strict', **kwargs):
        """
        Return the contents of toolbox settings file with a nested structure.

        :param encoding: encoding used by settings file
        :type encoding: str
        :param errors: Error handling scheme for codec. Same as ``decode()`` builtin method.
        :type errors: str
        :param kwargs: Keyword arguments passed to ``StandardFormat.fields()``
        :type kwargs: dict
        :rtype: ElementTree._ElementInterface
        """
        builder = TreeBuilder()
        for mkr, value in self.fields(encoding=encoding, errors=errors, **kwargs):
            # Check whether the first char of the field marker
            # indicates a block start (+) or end (-)
            block=mkr[0]
            if block in ("+", "-"):
                mkr=mkr[1:]
            else:
                block=None
            # Build tree on the basis of block char
            if block == "+":
                builder.start(mkr, {})
                builder.data(value)
            elif block == '-':
                builder.end(mkr)
            else:
                builder.start(mkr, {})
                builder.data(value)
                builder.end(mkr)
        return builder.close()
开发者ID:esabelhaus,项目名称:secret-octo-dubstep,代码行数:34,代码来源:toolbox.py

示例8: addTerminal

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def addTerminal(self):
   """ Adds a terminal element to the XML tree """
   builder = TreeBuilder()
   builder.start(self.tag, {})
   builder.data(" %s " % (self.data))
   temp = builder.end(self.tag)
   temp.tail = "\n"
   self.head[-1].append(temp)
开发者ID:cloew,项目名称:cs498,代码行数:10,代码来源:CompilationEngine.py

示例9: addNonTerminal

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def addNonTerminal(self, name):
   """ Adds a non-terminal element to the XML tree """
   builder = TreeBuilder()
   builder.start(name, {})
   builder.data("\n")
   temp = builder.end(name)
   temp.tail = "\n"
   self.head[-1].append(temp)
   self.head.append(temp)
开发者ID:cloew,项目名称:cs498,代码行数:11,代码来源:CompilationEngine.py

示例10: addElement

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def addElement(self, tag):
   """ Adds the current token to the XML ElementTree """
   e = self.etree.getroot()
   builder = TreeBuilder()
   builder.start(tag, {})
   builder.data(" %s " % (self.token))
   temp = builder.end(tag)
   temp.tail = "\n"
   e.append(temp)
   return self.token
开发者ID:cloew,项目名称:cs498,代码行数:12,代码来源:Tokenizer.py

示例11: save

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def save(self):
     '''saves action to file'''
     builder = TreeBuilder()
     builder.start("action", { "id" : str(self.id), "type" : str(self.type) })
     builder.start("name", {})
     builder.data(self.name)
     builder.end("name")
     self._write_type(builder)
     builder.end("action")
     doc = ElementTree(builder.close())
     doc.write(self.get_file(self.id))
开发者ID:christophersu,项目名称:pr2_pbd,代码行数:13,代码来源:Action.py

示例12: _get_new_album_body

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
 def _get_new_album_body(self, title):
     '''
     Формирует XML-элемент для нового альбома.
     @param title: string
     @return Element
     '''
     builder = TreeBuilder(Element)
     builder.start('entry', {'xmlns': ATOM_NS})
     builder.start('title', {})
     builder.data(title.decode('utf8'))
     builder.end('title')
     builder.end('entry')
     node = builder.close()
     return tostring(node)
开发者ID:edgiru,项目名称:yandex.fotki.2,代码行数:16,代码来源:protocol.py

示例13: _XHTMLParser

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
    class _XHTMLParser(parser.HTMLParser):
        # A helper class for parsing XHTML into an xml.etree.ElementTree
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.builder = TreeBuilder(element_factory=Element)

        def handle_starttag(self, tag, attrs):
            self.builder.start(tag, dict(attrs),)

        def handle_endtag(self, tag):
            self.builder.end(tag)

        def handle_data(self, data):
            self.builder.data(data)
开发者ID:RachitKansal,项目名称:orange3,代码行数:16,代码来源:provider.py

示例14: XmppXmlHandler

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
class XmppXmlHandler(object):
    STREAM_TAG = '{http://etherx.jabber.org/streams}stream'

    def __init__(self):
        self._stack = 0
        self._builder = TreeBuilder()
        self._builder.start('root', {})
        self._results = deque()

    def data(self, data):
        self._builder.data(data)

    def start(self, tag, attrib):
        if tag == self.STREAM_TAG:
            return

        self._builder.start(tag, attrib)
        self._stack += 1

    def end(self, tag):
        self._stack -= 1
        elem = self._builder.end(tag)

        if self._stack == 0:
            self._results.append(elem)

    def get_elem(self):
        """If a top-level XML element has been completed since the last call to
        get_elem, return it; else return None."""
        try:
            elem = self._results.popleft()

            if elem.tag.endswith('failure') or elem.tag.endswith('error'):
                raise Exception("XMPP Error received - %s" % elem.tag)

            return elem

        except IndexError:
            return None
开发者ID:armooo,项目名称:cloudprint,代码行数:41,代码来源:xmpp.py

示例15: data2builder

# 需要导入模块: from xml.etree.ElementTree import TreeBuilder [as 别名]
# 或者: from xml.etree.ElementTree.TreeBuilder import data [as 别名]
def data2builder(data, tag_name="data", builder=None):
    """pass in a python data structure and get back a etree TreeBuilder
    """
    if builder == None:
        builder = TreeBuilder()
    t = type(data)
    if t == NoneType:
        builder.start(tag_name, {})
        builder.end(tag_name)
    elif t in (StringType, UnicodeType, IntType, FloatType, BooleanType, LongType):
        builder.start(tag_name, {})
        builder.data(unicode(data))
        builder.end(tag_name)
    elif t in (ListType, TupleType):
        for value in data:
            data2builder(value, tag_name=tag_name, builder=builder)
    elif t == DictionaryType:
        builder.start(tag_name, {})
        for key, value in data.items():
            data2builder(value, tag_name=key, builder=builder)
        builder.end(tag_name)
    else: 
        raise Exception("uhoh I can't handle type %s" % t)
    return builder
开发者ID:edsu,项目名称:json2xml,代码行数:26,代码来源:json2xml.py


注:本文中的xml.etree.ElementTree.TreeBuilder.data方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。