亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adjacency_list.py

?? SQLAlchemy. 經典的Python ORM框架。學習必看。
?? PY
字號:
"""illustrates an explicit way to persist an XML document expressed using ElementTree.This example explicitly marshals/unmarshals the ElementTree document into mapped entities which have their own tables.  Compare to pickle.py which uses pickle to accomplish the same task.  Note that the usage of bothstyles of persistence are identical, as is the structure of the main Document class."""################################# PART I - Imports/Coniguration ###########################################from sqlalchemy import *from sqlalchemy.orm import *import sys, os, StringIO, reimport logginglogging.basicConfig()# uncomment to show SQL statements#logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)# uncomment to show SQL statements and result sets#logging.getLogger('sqlalchemy.engine').setLevel(logging.DEBUG)from elementtree import ElementTreefrom elementtree.ElementTree import Element, SubElementmeta = MetaData()meta.bind = 'sqlite://'################################# PART II - Table Metadata ###########################################    # stores a top level record of an XML document.  documents = Table('documents', meta,    Column('document_id', Integer, primary_key=True),    Column('filename', String(30), unique=True),    Column('element_id', Integer, ForeignKey('elements.element_id')))# stores XML nodes in an adjacency list model.  This corresponds to # Element and SubElement objects.elements = Table('elements', meta,    Column('element_id', Integer, primary_key=True),    Column('parent_id', Integer, ForeignKey('elements.element_id')),    Column('tag', Unicode(30), nullable=False),    Column('text', Unicode),    Column('tail', Unicode)    )# stores attributes.  This corresponds to the dictionary of attributes# stored by an Element or SubElement.attributes = Table('attributes', meta,    Column('element_id', Integer, ForeignKey('elements.element_id'), primary_key=True),    Column('name', Unicode(100), nullable=False, primary_key=True),    Column('value', Unicode(255)))meta.create_all()#################################### PART III - Model ############################################## our document class.  contains a string name,# and the ElementTree root element.  class Document(object):    def __init__(self, name, element):        self.filename = name        self.element = element            def __str__(self):        buf = StringIO.StringIO()        self.element.write(buf)        return buf.getvalue()#################################### PART IV - Persistence Mapping #################################### Node class.  a non-public class which will represent # the DB-persisted Element/SubElement object.  We cannot create mappers for# ElementTree elements directly because they are at the very least not new-style # classes, and also may be backed by native implementations.# so here we construct an adapter.class _Node(object):    pass# Attribute class.  also internal, this will represent the key/value attributes stored for # a particular Node.class _Attribute(object):    def __init__(self, name, value):        self.name = name        self.value = value# setup mappers.  Document will eagerly load a list of _Node objects.mapper(Document, documents, properties={    '_root':relation(_Node, lazy=False, cascade="all")})mapper(_Node, elements, properties={    'children':relation(_Node, cascade="all"),      'attributes':relation(_Attribute, lazy=False, cascade="all, delete-orphan"), # eagerly load attributes})mapper(_Attribute, attributes)# define marshalling functions that convert from _Node/_Attribute to/from ElementTree objects.# this will set the ElementTree element as "document._element", and append the root _Node# object to the "_root" mapped collection.class ElementTreeMarshal(object):    def __get__(self, document, owner):        if document is None:            return self                    if hasattr(document, '_element'):            return document._element                def traverse(node, parent=None):            if parent is not None:                elem = ElementTree.SubElement(parent, node.tag)            else:                elem = ElementTree.Element(node.tag)            elem.text = node.text            elem.tail = node.tail            for attr in node.attributes:                elem.attrib[attr.name] = attr.value            for child in node.children:                traverse(child, parent=elem)            return elem        document._element = ElementTree.ElementTree(traverse(document._root))        return document._element        def __set__(self, document, element):        def traverse(node):            n = _Node()            n.tag = unicode(node.tag)            n.text = unicode(node.text)            n.tail = unicode(node.tail)            n.children = [traverse(n2) for n2 in node]            n.attributes = [_Attribute(unicode(k), unicode(v)) for k, v in node.attrib.iteritems()]            return n        document._root = traverse(element.getroot())        document._element = element        def __delete__(self, document):        del document._element        document._root = []# override Document's "element" attribute with the marshaller.Document.element = ElementTreeMarshal()########################################### PART V - Basic Persistence Example ############################line = "\n--------------------------------------------------------"# save to DBsession = create_session()# get ElementTree documentsfor file in ('test.xml', 'test2.xml', 'test3.xml'):    filename = os.path.join(os.path.dirname(sys.argv[0]), file)    doc = ElementTree.parse(filename)    session.save(Document(file, doc))print "\nSaving three documents...", linesession.flush()print "Done."# clear session (to illustrate a full load), restoresession.clear()print "\nFull text of document 'text.xml':", linedocument = session.query(Document).filter_by(filename="test.xml").first()print document############################################ PART VI - Searching for Paths ######################################## manually search for a document which contains "/somefile/header/field1:hi"d = session.query(Document).join('_root', aliased=True).filter(_Node.tag==u'somefile').\    join('children', aliased=True, from_joinpoint=True).filter(_Node.tag==u'header').\    join('children', aliased=True, from_joinpoint=True).filter(and_(_Node.tag==u'field1', _Node.text==u'hi')).\    one()print d# generalize the above approach into an extremely impoverished xpath function:def find_document(path, compareto):    j = documents    prev_elements = None    query = session.query(Document)    attribute = '_root'    for i, match in enumerate(re.finditer(r'/([\w_]+)(?:\[@([\w_]+)(?:=(.*))?\])?', path)):        (token, attrname, attrvalue) = match.group(1, 2, 3)        query = query.join(attribute, aliased=True, from_joinpoint=True).filter(_Node.tag==token)        attribute = 'children'        if attrname:            if attrvalue:                query = query.join('attributes', aliased=True, from_joinpoint=True).filter(and_(_Attribute.name==attrname, _Attribute.value==attrvalue))            else:                query = query.join('attributes', aliased=True, from_joinpoint=True).filter(_Attribute.name==attrname)    return query.options(lazyload('_root')).filter(_Node.text==compareto).all()for path, compareto in (        (u'/somefile/header/field1', u'hi'),        (u'/somefile/field1', u'hi'),        (u'/somefile/header/field2', u'there'),        (u'/somefile/header/field2[@attr=foo]', u'there')    ):    print "\nDocuments containing '%s=%s':" % (path, compareto), line    print [d.filename for d in find_document(path, compareto)]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产自产2019最新不卡| av午夜一区麻豆| 视频在线观看国产精品| 亚洲精品久久久蜜桃| 欧美日本一区二区| 亚洲一区自拍偷拍| 欧美日韩成人综合| 蜜臀久久久久久久| 国产香蕉久久精品综合网| 久久电影国产免费久久电影| 久久毛片高清国产| 99久久er热在这里只有精品15| 欧美激情一区二区三区| 欧美一区二区久久| 日本不卡一区二区| 欧美国产综合色视频| 色综合久久综合| 日日摸夜夜添夜夜添国产精品| 精品国产三级电影在线观看| 成人激情黄色小说| 日韩电影在线一区| 欧美激情一区在线观看| 日本乱人伦aⅴ精品| 免费成人结看片| 国产精品你懂的在线欣赏| 欧美色视频在线| 国产伦精品一区二区三区免费 | 亚洲国产一区在线观看| 欧美军同video69gay| 精品在线视频一区| 一区二区免费看| 久久综合久久综合九色| 91香蕉视频mp4| 麻豆精品视频在线观看视频| 亚洲日本乱码在线观看| 精品三级av在线| 欧美午夜寂寞影院| 国产a区久久久| 精品在线观看视频| 一区二区三区鲁丝不卡| 国产日韩av一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 国产成人av影院| 午夜激情一区二区三区| 国产精品精品国产色婷婷| 日韩一本二本av| 欧美日韩精品一区二区三区四区| 北条麻妃一区二区三区| 日本不卡123| 午夜欧美电影在线观看| 亚洲视频免费看| 中文字幕国产精品一区二区| 久久综合中文字幕| 日韩精品一区二区在线| 91精品国产综合久久精品app| 91福利小视频| 91网站最新网址| 一本到高清视频免费精品| 成人av在线网站| 成人激情av网| 97精品视频在线观看自产线路二| 国产乱子伦视频一区二区三区| 久色婷婷小香蕉久久| 蜜桃91丨九色丨蝌蚪91桃色| 麻豆精品在线观看| 91丨九色丨蝌蚪富婆spa| 国模娜娜一区二区三区| 日本不卡不码高清免费观看| 亚洲成av人片观看| 亚洲一区二区精品视频| 亚洲国产视频在线| 天天操天天色综合| 美国十次了思思久久精品导航| 久久国产综合精品| 狠狠色2019综合网| 成人免费三级在线| 91小宝寻花一区二区三区| 在线欧美日韩精品| 欧美日韩国产一级片| 91精品久久久久久久久99蜜臂| 欧美电影一区二区| 久久久亚洲综合| 国产精品国产三级国产普通话三级| 中文字幕va一区二区三区| 一区二区三区在线播| 喷水一区二区三区| 丰满白嫩尤物一区二区| 日本乱人伦一区| 欧美成人性战久久| 一区在线观看免费| 亚洲一区二区在线播放相泽| 免费观看在线综合色| 顶级嫩模精品视频在线看| 92国产精品观看| 欧美一级专区免费大片| 日本一区二区视频在线观看| 悠悠色在线精品| 狠狠色综合播放一区二区| 99re热这里只有精品视频| 56国语精品自产拍在线观看| 久久精品视频免费| 午夜免费欧美电影| 成人精品鲁一区一区二区| 色噜噜偷拍精品综合在线| 精品国产制服丝袜高跟| 伊人一区二区三区| 国产在线精品国自产拍免费| 在线观看视频一区二区| 国产日产欧美一区二区三区| 亚洲成人你懂的| 国产精品99久久久久久久女警| 欧美午夜精品一区二区蜜桃| 久久影音资源网| 亚洲成人一二三| 99vv1com这只有精品| 久久亚洲综合色| 日韩不卡一区二区三区| 色av一区二区| 国产精品天干天干在观线| 免费观看日韩电影| 欧美影院精品一区| 椎名由奈av一区二区三区| 国产一区二区三区久久悠悠色av| 欧美吻胸吃奶大尺度电影| 中文字幕在线播放不卡一区| 狠狠色狠狠色合久久伊人| 欧美日韩高清不卡| 国产在线不卡一区| 欧美一区二区日韩一区二区| 一区二区三区四区精品在线视频| 国产精品99久| 精品国产凹凸成av人导航| 水蜜桃久久夜色精品一区的特点| 91蜜桃在线观看| 成人欧美一区二区三区在线播放| 国产成人啪免费观看软件| 久久中文字幕电影| 国产一区欧美一区| 久久久精品影视| 国产精品 日产精品 欧美精品| 婷婷久久综合九色综合伊人色| 日韩欧美综合一区| 欧美午夜片在线看| 一区二区三区资源| 97se狠狠狠综合亚洲狠狠| 亚洲欧洲av色图| 色综合久久中文字幕| 亚洲欧美在线视频| 国产99精品国产| 国产精品毛片高清在线完整版| 国产麻豆成人精品| 国产日产精品一区| 波多野结衣在线一区| 1区2区3区国产精品| 91麻豆免费视频| 午夜精品福利一区二区蜜股av | 亚洲精品成人少妇| 91国产成人在线| 亚洲成a人片在线观看中文| 欧美色图一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 中文字幕在线一区| 91精品国产美女浴室洗澡无遮挡| 香蕉加勒比综合久久| 国产91丝袜在线观看| 国产精品二三区| 欧美日韩国产综合久久| 强制捆绑调教一区二区| 久久精品亚洲乱码伦伦中文| 99精品欧美一区二区三区综合在线| 亚洲人成精品久久久久久| 欧美日韩国产大片| 五月天精品一区二区三区| 久久综合九色综合97_久久久| 成人黄色在线网站| 婷婷国产在线综合| 91福利视频网站| 在线观看成人免费视频| 亚洲v中文字幕| 国产亚洲污的网站| av在线不卡电影| 日本精品免费观看高清观看| 在线免费观看日本一区| 韩国av一区二区三区在线观看| 亚洲一二三四区不卡| 亚洲妇熟xx妇色黄| 国产亚洲综合色| 在线精品视频一区二区三四| 免费成人小视频| 亚洲欧美综合网| 久久久久久99精品| 欧美久久久久免费| 99在线精品视频| 免费视频一区二区| 亚洲精品美腿丝袜| 中文字幕精品综合| 欧美一区二区三区在线观看视频| 91在线国产观看| 成人涩涩免费视频| 国产一区二三区|