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


Python SubElement.get方法代码示例

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


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

示例1: Document

# 需要导入模块: from xml.etree.cElementTree import SubElement [as 别名]
# 或者: from xml.etree.cElementTree.SubElement import get [as 别名]
class Document(object):
    """building output waebric xhtml document """

    def __init__(self, output, verbose=False):
        self.lastElement = Element('html')
        self.tree = ET.ElementTree(self.lastElement)
        self.trees = [self.tree]
        self.output = output
        self.verbose = verbose

    #@trace
    def addElement(self, name):
        self.lastElement = SubElement(self.lastElement, name)
        return self.lastElement

    #@trace
    def addText(self, string):
        if not len(self.lastElement):
            e = self.lastElement
            txt = "%s%s" % (e.text, string) if e.text else string
            e.text = txt
        else:
            e = self.lastElement[-1]
            txt = "%s%s" % (e.tail, string) if e.tail else string
            e.tail = txt

    def addAttribute(self,name,value):
        if self.lastElement.get(name):
            value = "%s %s" % (self.lastElement.get(name),value)
        self.lastElement.set(name, value)

    def addComment(self, string):
        self.lastElement.append(ET.Comment(string))

    def getFile(self, filename):
        if self.output:
            filename = "%s/%s" % (self.output, filename)
        try:
            _file = open(filename,'w')
        except IOError:
            print "file name %s cannot be opened, no output written" % filename
            return
        return _file

    def setGoodRootElement(self):
        """make sure we have the correct root ellement according to the
           wae standard. It could be needed to remove the top html
           element because i ad it to work correctly with elementtree Libary.
        """
        r = self.tree.getroot()
        if len(r) == 1 and not r.text and not r[-1].tail:
            child = r.getchildren()[0]
            if isinstance(child.tag, str):#check needed for comment element.
                self.tree._setroot(r[0])

    def writeOutput(self, filename):

        self.setGoodRootElement()
        _file = self.getFile(filename)

        DTD = """<?xml version="1.0" encoding="UTF-8"?>\n"""
        _file.write(DTD)
        for tree in self.trees:
            if isinstance(tree, ET.ElementTree):
                self.tree.write(_file)
            else: #could be data string.
                _file.write(tree)
        _file.write('\n')
        _file.close()

        if self.verbose:
            output = open(_file.name)
            print output.read()

    def writeEmptyFile(self, filename):
        _file = self.getFile(filename)
        _file.write('')
        _file.close()
开发者ID:spreeker,项目名称:waebric,代码行数:80,代码来源:document.py


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