python:libxml2: いじってみる

hdknr@debiansept:~/cert/sample$ python
Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libxml2
>>> fs=libxml2.parseFile('tmpl/service.xrds')
>>> s = fs.xpathEval('//XRDS/XRD/Service')
>>> service = str(s[0])
>>> service
'<Service>\n            <Type>http://nri.co.jp/tx/contract/1.0</Type>\n            
<URI>@GAIEN/Photo/Photostream</URI>\n            <Trust>\n                  
<ServiceName>@GAIEN/Photo/Photostream</ServiceName>\n                  
<Endpoint>@GAIEN/Photo/Photostream</Endpoint>\n                  
<Description>Photostream data transmission.</Description>\n                  
<DescriptionURL>@GAIEN/Dev/Photo/Photostream</DescriptionURL>\n                  
<Duration>Week</Duration>\n                  <Contact>@GAIEN/SysAdmin</Contact>\n             
</Trust>\n      </Service>'


>>> pr = libxml2.parseFile('tmpl/proposal.xml')
>>> h = pr.xpathEval('//ProposalEnvelope/Proposal/Handle')
>>> h[0].serialize()
'<Handle/>'
>>> h[0].setContent('hogehoge')
>>> h[0].serialize()
'<Handle>hogehoge</Handle>'
>>> st=pr.xpathEval('//ProposalEnvelope/Proposal/Service')
>>> st[0].serialize()
'<Service/>'

>>> r=pr.xpathEval('//ProposalEnvelope')
>>> r[0].serialize()
'<ProposalEnvelope>\n    <Proposal>\n        <Handle>hogehoge</Handle>\n        
<Service/>\n        <ServiceName/>\n        <ReturnTo>@HDKNR/photo/print</ReturnTo>\n        
<Query>@GAIEN/Photo/Photostream/hdknr</Query>\n        
<Endpoint>@HDKNR/photo/print</Endpoint>\n        <Subject>=hdknr</Subject>\n    
</Proposal>\n    <Signer>@HDKNR</Signer>\n    <Signature>\n    </Signature>\n    
<Cert>\n    </Cert>\n</ProposalEnvelope>'
カテゴリー: 未分類 パーマリンク

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中