WebDAV Client (8)
実際のデータを眺めていると,WebDAV サーバが返してくるデータは次のようなフォーマットになっているようだ.
- まず,HTTP のヘッダーがあって,区切りの空白行がある.
- XML データが始まる前に,16進数表記でデータサイズが書かれた行がある.
- 次に,そのサイズ分の部分的な XML データがあるので,ちょうどサイズ分だけ読み取る.
- 次のデータとの区切りの空白行がある.
- またデータサイズの行.
- そのサイズ分の XML データ.
- 以降データサイズと XML データの繰り返し.
ところが,WebDAV サーバが返してくる XML データ がおかしい.
変なところに改行が挿入されていて正しく XML として認識できない.
<D:lockdiscove cb y/>
しかも1文字分(r)なくなってしまっていて,自力で回復できそうにない.
なんでこんなことになっているんだろう.
・・・あ,もしかして・・・(続く).
以下,もう少したくさんのデータ.
<D:prop> <lp0:creationdate xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.tz">2006-11-21T13:59:11Z</lp0:creationdate> <lp0:getlastmodified xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.rfc1123">Tue, 21 Nov 2006 13:59:11 GMT</lp0:getlastmodified> <lp0:getetag>"dc6e1-1000-4563062f"</lp0:getetag> <D:supportedlock> <D:lockentry> <D:lockscope><D:exclusive/></D:lockscope> <D:locktype><D:write/></D:locktype> </D:lockentry> <D:lockentry> <D:lockscope><D:shared/></D:lockscope> <D:locktype><D:write/></D:locktype> </D:lockentry> </D:supportedlock> <D:lockdiscove cb y/> <D:resourcetype>