libxml2 : XMLの改行コードに注意

<?xml ?> の前に改行コードが入っているとだめです。最後にいくつ入っていてもOK。

(op)hdknr@debuniid:~/.virtualenvs/op/src/PyXMLSec/sample$ python
Python 2.5.4 (r254:67916, Sep 26 2009, 08:19:36)
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libxml2
>>> x=”’
… <?xml version="1.0" encoding="UTF-8"?>
… <Envelope >
…   <Data>
…     Hello, World!
…   </Data>
… </Envelope>
… ”’
>>> doc=libxml2.parseDoc(x.encode(‘UTF-8’))
Entity: line 2: parser error : XML declaration allowed only at the start of the document
<?xml version="1.0" encoding="UTF-8"?>
     ^
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.5/libxml2.py", line 1263, in parseDoc
    if ret is None:raise parserError(‘xmlParseDoc() failed’)
libxml2.parserError: xmlParseDoc() failed
>>> x=”'<?xml version="1.0" encoding="UTF-8"?>
… <Envelope >
…   <Data>
…     Hello, World!
…   </Data>
… </Envelope>”’
>>> doc=libxml2.parseDoc(x.encode(‘UTF-8’))
>>> str(doc)
‘<?xml version="1.0" encoding="UTF-8"?>\n<Envelope>\n  <Data>\n\tHello, World!\n  </Data>\n</Envelope>\n’

カテゴリー: 未分類 パーマリンク

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中