XML DBだからできること:HTMLをDBにそのまま保存
鵜飼寛太(サイバーテック)
2008/03/19 22:30
今回は、HTMLデータをDBにそのまま保存するというXML DBだからできる芸当をみていきます。
xhtmlで記述されたhtmlファイルを用意
最初に登録用htmlファイル(test.html)を用意する
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>テストページ</title> </head> <body> <div> <h1>テストページ</h1> <div>htmlをそのままストアする</div> </div> </body> </html>
以下の点に注意すること。
- 文字コードのコンバートを省くためUTF-8で記述
- meta情報のcharsetは最初の日本語より前にないとPHPのloadHTMLFile関数で読み込んだ際に文字化けする。
- 通常のhtmlで記述されている場合、PHPのxmlパーサーの仕様でXML文書化されるので予期しない結果になることがある。
neoCore用関数を用意
次に以下のようなPHPスクリプトを用意する。
- PHPスクリプト( neoCore.functions.php)
- cURL API
- 引数
- httpリクエストメソッド:GETまたはPOST
- neoCore接続先:neoadminまたはneoquery
- 送信データ(省略化):httpリクエスト時の送信データ。通常はhoge=hoga&foo=barの形式
- セッションID(省略可):getsession関数で取得したneoCoreセッションID
- 戻り値
- httpレスポンス:xml文書で返却されるので必要に応じて後処理を行う
- 引数
- getsession(セッションの取得)
- neoCoreコマンド:GETSESSION
- パラメータ
- ユーザ名
- パスワード(md5でハッシュされていること)
- 戻り値
- セッションID:neoCoreからは
<?xml version="1.0" encoding="UTF-8" ?> <sid>Session ID</sid>で返却されるので値だけ取り出してく。
- セッションID:neoCoreからは
- endsession(セッションの破棄)
- neoCoreコマンド:ENDSESSION
- 戻り値
- 処理結果:neoCoreからは
<?xml version="1.0" encoding="UTF-8" ?> <success/>で返却されるので、必要に応じて後処理を行う。
- 処理結果:neoCoreからは
- transactionstart(トランザクションの開始)
- neoCoreコマンド:TRANSACTION
- 引数:セッションID
- 戻り値
- 処理結果:neoCoreからは
<?xml version="1.0" encoding="UTF-8" ?> <success/>で返却されるので、必要に応じて後処理を行う
- 処理結果:neoCoreからは
- neoCoreコマンド:TRANSACTION
- セッションID
- 処理結果:neoCoreからは
<?xml version="1.0" encoding="UTF-8" ?> <success/>で返却されるので、必要に応じて後処理を行う
- neoCoreコマンド:TRANSACTION
<?xml version="1.0" encoding="UTF-8" ?> <success/>で返却されるので、必要に応じて後処理を行うstore(xml文書のストア)
- neoCoreコマンド:STORE
- 引数
- セッションID
- 格納するxml文書
- プリフィックスファイル
- スキーマファイル
- 戻り値
- 処理結果:neoCoreからは
<?xml version="1.0" encoding="UTF-8" ?> <Store-Results> <Documents-Processed> 1 </Documents-Processed> <Last-Doc-ID> 1199 </Last-Doc-ID> </Store-Results>
で返却されるので、必要に応じて後処理を行う。
- ホワイトペーパー
- 企画特集
中小企業のセキュリティリスクとは?
ロリポップ!がリニューアル
今注目の「サジェスト検索」−デモ掲載中
インターネット上の悪意を未然に防ぐには?
御社のログ活用しませんか!?
【徹底対談】運用管理ツールの賢い使い方
ESBでIT投資の無駄を劇的に解消する
そのストレージで仮想化に対応できますか?
セキュリティ&ユーザ事例【SIer Club】
集積度も性能も、業界最高水準のブレードPC
ストレージメディア特設サイト開設
パンデミック対策特集
仮想環境を実現するソリューション特集
SOA、BPM、SaaS −今、企業に必要なこと
◆エン・ジャパン厳選求人☆毎週更新◆
- サーバー監視・運用のコストを削減するには
- ■ストレージ容量50%削減保証■
- サービス・ドリヴン・データセンター
- エンタープライズにおけるSUSEの強み
- 話題のタグ
UI
Webデザイン
仮想化
iPod touch
JavaScript
Safari
CSS
iPhone 3G
Off Topic
Opera
Webサービス
Google
Mac OS X
Firefox
Adobe
Microsoft
脆弱性
データベース
Internet Explorer
ブラウザ
モバイル
Database
Windows
ツール
HTML
Firefox 3
アプリケーション
RIA
ソフトウェア開発
小技
Chrome
Ajax
Tips
OS
Windows Vista
Apple
オープンソース
リファレンス
WebKit
Windows 7
開発環境
SOA
セキュリティ
Linux
iPhone
Java
プログラミング言語
PHP
Flash
Mozilla
話題のタグを見る »
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――