python:lxml:first grance:XRDS

hdknr@debiansept:~$ python2.5
Python 2.5 (release25-maint, Jul 20 2008, 20:47:25)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import objectify
>>> dir(objectify)
['BoolElement', 'DataElement', 'E', 'Element', 'ElementMaker', 'FloatElement',
 'IntElement', 'LongElement', 'NoneElement', 'NumberElement', 'ObjectPath',
 'ObjectifiedDataElement', 'ObjectifiedElement', 'ObjectifyElementClassLookup',
 'PYTYPE_ATTRIBUTE', 'PyType', 'StringElement', 'XML', '_ObjectifyElementMakerCaller',
 '__builtins__', '__checkBool', '__doc__', '__file__', '__lower_bool', '__name__',
 '__parseBool', '__unpickleElementTree', '__version__', 'annotate', 'deannotate',
 'dump', 'enable_recursive_str', 'fromstring', 'getRegisteredTypes', 'makeparser',
 'parse', 'pyannotate', 'pytypename', 'set_default_parser', 'set_pytype_attribute_tag',
 'xsiannotate']

>>> import urllib2
>>> doc = objectify.parse(urllib2.urlopen(LS%'=hdknr'))
>>> root=doc.getroot()
>>> root
<Element {xri://$xrds}XRDS at b77f5c0c>
>>> dir(root)
['__class__', '__contains__', '__copy__', '__deepcopy__', '__delattr__',
 '__delitem__', '__dict__', '__doc__', '__getattr__', '__getattribute__',
 '__getitem__', '__hash__', '__init__', '__iter__', '__len__', '__new__',
 '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
 '__setattr__', '__setitem__', '__str__', '_init', 'addattr', 'addnext',
 'addprevious', 'append', 'attrib', 'base', 'clear', 'countchildren',
 'descendantpaths', 'extend', 'find', 'findall', 'findtext', 'get',
 'getchildren', 'getiterator', 'getnext', 'getparent', 'getprevious',
 'getroottree', 'index', 'insert', 'items', 'iter', 'iterancestors',
 'iterchildren', 'iterdescendants', 'iterfind', 'itersiblings', 'itertext',
 'keys', 'makeelement', 'nsmap', 'prefix', 'remove', 'replace', 'set',
 'sourceline', 'tag', 'tail', 'text', 'values', 'xpath']

>>> root.countchildren()
1
>>> root.keys()
['ref']
>>> root.sourceline
2
>>> for x in root.iterchildren():
...   dir(x)
...
['CanonicalID', 'Expires', 'LocalID', 'ProviderID', 'Query',
 'ServerStatus', 'Service', 'Status', '__class__',
 '__contains__', '__copy__', '__deepcopy__', '__delattr__',
 '__delitem__', '__dict__', '__doc__', '__getattr__',
 '__getattribute__', '__getitem__', '__hash__', '__init__',
 '__iter__', '__len__', '__new__', '__nonzero__', '__reduce__',
 '__reduce_ex__', '__repr__', '__reversed__', '__setattr__',
 '__setitem__', '__str__', '_init', 'addattr', 'addnext',
 'addprevious', 'append', 'attrib', 'base', 'clear',
 'countchildren', 'descendantpaths', 'extend', 'find',
 'findall', 'findtext', 'get', 'getchildren', 'getiterator',
 'getnext', 'getparent', 'getprevious', 'getroottree', 'index',
 'insert', 'items', 'iter', 'iterancestors', 'iterchildren',
 'iterdescendants', 'iterfind', 'itersiblings', 'itertext',
 'keys', 'makeelement', 'nsmap', 'prefix', 'remove', 'replace',
 'set', 'sourceline', 'tag', 'tail', 'text', 'values', 'xpath']


>>> for x in root.iterchildren():
...    type(x)
...
<type 'lxml.objectify.ObjectifiedElement'>

>>> for x in root.iterchildren():
...   print x.prefix,x.nsmap,x.tag,x.attrib,x.sourceline,x.tail,x.text
...
None {None: 'xri://$xrd*($v*2.0)'} {xri://$xrd*($v*2.0)}XRD {'version': '2.0'} 3 None None


>>> xrd=root.getchildren()[0]
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中