• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python ElementTree.TreeBuilder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: XmppXmlHandler

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,代码行数:32,代码来源:xmpp.py


示例2: test_xsd_sequence_callback

 def test_xsd_sequence_callback(self):
     from xml.etree.ElementTree import TreeBuilder, tostring
     from c2cgeoportal.lib.dbreflection import _xsd_sequence_callback
     from papyrus.xsd import tag
     tb = TreeBuilder()
     with tag(tb, "xsd:sequence") as tb:
         _xsd_sequence_callback(tb, self.cls)
     e = tb.close()
     self.assertEqual(
         tostring(e),
         '<xsd:sequence>'
         '<xsd:element minOccurs="0" name="child1" nillable="true">'
         '<xsd:simpleType>'
         '<xsd:restriction base="xsd:string">'
         '<xsd:enumeration value="foo" />'
         '<xsd:enumeration value="bar" />'
         '</xsd:restriction>'
         '</xsd:simpleType>'
         '</xsd:element>'
         '<xsd:element minOccurs="0" name="child2" nillable="true">'
         '<xsd:simpleType>'
         '<xsd:restriction base="xsd:string">'
         '<xsd:enumeration value="foo" />'
         '<xsd:enumeration value="bar" />'
         '</xsd:restriction>'
         '</xsd:simpleType>'
         '</xsd:element>'
         '</xsd:sequence>')
开发者ID:camptocamp,项目名称:c2cgeoportal,代码行数:28,代码来源:test_dbreflection.py


示例3: build

    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,代码行数:28,代码来源:htmlbuilder.py


示例4: _get_new_album_body

 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,代码行数:14,代码来源:protocol.py


示例5: save_xml

def save_xml(data, filename):
    tb = TreeBuilder()
    studyguide = tb.start("studyguide", {})
    
    for dataQuestion in data:
        xmlQuestion = SubElement(studyguide, "question", {})
        xmlQuestion.text = dataQuestion[0]
        for dataAnswer in dataQuestion[1]:
            if dataAnswer == dataQuestion[1][0]:
                xmlAnswer = SubElement(xmlQuestion, "answer", {'correct': "true"})
            else :
                xmlAnswer = SubElement(xmlQuestion, "answer", {'correct':"false"})
            xmlAnswer.text = dataAnswer
            
    #dump(studyguide)
    ElementTree(studyguide).write("xml/" + filename)
开发者ID:darklink259,项目名称:SDD-Project,代码行数:16,代码来源:gbxml.py


示例6: start

 def start(self, tag, attrs):
     elem = TreeBuilder.start(self, tag, attrs)
     for key, value in attrs.items():
         if key == _MELD_ID:
             if value in self.meldids:
                 raise ValueError('Repeated meld id "%s" in source' % value)
             self.meldids[value] = 1
             break
     return elem
开发者ID:puentesarrin,项目名称:meld3,代码行数:9,代码来源:__init__.py


示例7: emit

def emit(output, title_string, structure):
    "Write an SVG file to output representing structure."
    global builder

    builder = TreeBuilder()

    builder.start("svg", dict(xmlns="http://www.w3.org/2000/svg",
                              width=str(width),
                              height=str(height)))
    
    title(title_string)
    structure.depth(3)
    for key, depth in [(3, 3),
                       (1, 5),
                       (2, 6),
                       (1, 10),
                       (1, 11),
                       (2, 15),
                       (3, 16),
                       (1, 22),
                       (2, 25),
                       (1, 25),
                       ]:
        structure.key(key, depth)

    builder.end("svg")

    ElementTree(builder.close()).write(output,
                                       encoding='utf-8',
                                       xml_declaration=True)
    output.write("\n")
开发者ID:0xsKu,项目名称:500lines,代码行数:31,代码来源:skipdiagram.py


示例8: __init__

  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,代码行数:30,代码来源:Tokenizer.py


示例9: message

 def message(self):
     builder = TreeBuilder()
     builder.start(self.resource_type, dict())
     self.serialize(builder)
     builder.end(self.resource_type)
     msg = tostring(builder.close())
     return msg
开发者ID:thismakessand,项目名称:gsconfig,代码行数:7,代码来源:support.py


示例10: __init__

  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,代码行数:30,代码来源:Tokenizer.py


示例11: compileClass

 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,代码行数:31,代码来源:CompilationEngine.py


示例12: addTerminal

 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,代码行数:8,代码来源:CompilationEngine.py


示例13: XmppXmlHandler

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:
            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:Mondego,项目名称:pyreco,代码行数:38,代码来源:allPythonContent.py


示例14: addNonTerminal

 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,代码行数:9,代码来源:CompilationEngine.py


示例15: addElement

 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,代码行数:10,代码来源:Tokenizer.py


示例16: _XHTMLParser

    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,代码行数:14,代码来源:provider.py


示例17: write_xml

def write_xml(f, taxes, _solr=None, rows=0):
    """ Export an XML file for the given taxonomies to the (open) file handle
        specified.
    
        If a SOLR connection is supplied, then include document elements for
        each category.
    
    """
    x = TreeBuilder()
    x.start("taxonomy", {})

    def f_pre(term):
        x.start("category", {"id": str(term.uid)})
        x.start("name", {})
        x.data(term.name)
        x.end("name")
        for clue, positive in term.iter_clues():
            attrs = {}
            if not positive:
                attrs["negative"] = "true"
            x.start("clue", attrs)
            x.data(clue)
            x.end("clue")
        if _solr is not None:
            count, docs = get_docs_for_category(_solr, term, rows=rows)
            x.start("count", {})
            x.data(str(count))
            x.end("count")
            for doc_id, title, score in docs:
                x.start("doc", {"id": doc_id, "score": str(score)})
                x.start("name", {})
                x.data(title)
                x.end("name")
                x.end("doc")

    def f_post(term):
        x.end("category")

    for term in taxes:
        term.walk(f_pre, f_post)

    x.end("taxonomy")

    xml = ElementTree(x.close())
    xml.write(f, xml_declaration=True, encoding="utf-8")
开发者ID:rmmx,项目名称:clade,代码行数:45,代码来源:taxonomy.py


示例18: generate_nic

def generate_nic(network):
    builder = TreeBuilder()
    builder.start('interface', {'type': network['type']})
    builder.start('mac', {'address': network['mac']})
    builder.end('mac')
    builder.start('source', network['source'])
    builder.end('source')
    builder.start('model', {'type':'virtio'})
    builder.end('model')
    builder.end('interface')
    return builder.close()

# vim:set sw=4 ts=4 et:
# -*- coding: utf-8 -*-
开发者ID:ponycloud,项目名称:python-ponyvirt,代码行数:14,代码来源:virtxmlbuilder.py


示例19: generate_disk

def generate_disk(disk, devicename):
    """
    Creates XML representation of disk for libvirt based on disk_definition

    disk_definition is something like
            {
                'type': 'network',
                'device': 'disk',
                'format': 'raw',
                'source': {
                    'protocol': 'sheepdog',
                    'name': 'Alice',
                    'hosts': [('127.0.0.1', '7000'),],
                },
            }
     or
             {
                'type': 'file',
                'device': 'disk',
                'format': 'qcow2',
                'source': {
                    'file': '/var/lib/libvirt/images/Alice.img',
                },
            },

    devicename is string representing devicename (eg. vda, vdb, ...)
    """

    builder = TreeBuilder()
    builder.start('disk',
                {'type': disk['type'], 'device': disk['device']})
    builder.start('source', sans(disk['source'], 'hosts'))
    for host in disk['source'].get('hosts', []):
        builder.start('host', {'name': host[0], 'port': host[1]})
        builder.end('host')
    builder.end('source')
    builder.start('target', {'dev': devicename, 'bus': 'virtio'})
    builder.end('target')
    builder.start('driver', {'name': 'qemu', 'cache': 'none', 'type': disk['format']})
    builder.end('driver')
    builder.end('disk')
    return builder.close()
开发者ID:ponycloud,项目名称:python-ponyvirt,代码行数:42,代码来源:virtxmlbuilder.py


示例20: TreeBuilder

# http:#nikerunning.nike.com/nikeplus/v2/services/app/get_gps_detail.jsp?_plus=true&id=<run-id>&format=json
# 
# Save it to a file that ends in .json, and run this script: ./nike2gpx <filename>.json
# This will create a file <filename>.gpx in GPX format
#

from xml.etree.ElementTree import TreeBuilder, ElementTree
from datetime import datetime
import json
import sys

data = json.load(open(sys.argv[1], "r"))

route = data["plusService"]["route"]

builder = TreeBuilder()

gpxAttrs = {
			"version":				"1.1",
			"creator":				"Nike2GPX",
			"xmlns:xsi":			"http://www.w3.org/2001/XMLSchema-instance",
			"xmlns":				"http://www.topografix.com/GPX/1/1",
			"xsi:schemaLocation":	"http://www.topografix.com/GPX/1/1 http://www.topografix.com/gpx/1/1/gpx.xsd"
}
builder.start("gpx", gpxAttrs)

builder.start("metadata", {})

builder.start("name", {})
builder.data("Run " + sys.argv[1][:-5])
builder.end("name")
开发者ID:eagereyes,项目名称:nike2gpx,代码行数:31,代码来源:nike2gpx.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python ElementTree.XML类代码示例发布时间:2022-05-26
下一篇:
Python ElementTree.SubElement类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap