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>
で返却されるので、必要に応じて後処理を行う。
- ホワイトペーパー
- 企画特集
- 話題のタグ
HTML
google
脆弱性
Internet Explorer
Firefox
Windows 7
Flash
Windows XP
Database
ブラウザ
Chrome
Ajax
Firefox 3
オープンソース
Tips
インストール
linux
仮想化
ソフトウェア開発
リファレンス
UI
java
クラウド
セキュリティ
iPhone
開発環境
javascript
php
Safari
Apple
iPod touch
Microsoft
RIA
データベース
Windows Vista
アプリケーション
マイクロソフト
iPhone 3G
Webサービス
Opera
Mozilla
Webデザイン
Off Topic
小技
Windows
OS
プログラミング言語
Mac OS X
CSS
WebKit
話題のタグを見る »
SQLite対応アプリのデータベースファイルを閲覧する
グーグル、「Google Buzz」を発表--Gmailのソーシャル機能を強化
「H.264」ストリーミングのロイヤリティ無料期間が延長
マイクロソフト、「Office 2010」のRC版をリリース
仮想環境のバックアップは難しいのか
利用者の理想を追求した最新レンタルサーバ
新しい視点のレンタルサーバが誕生!
アンケートから見るセキュリティ対策の実態
アプリケーション仮想化 3つの課題
身近な業務をCRMが変革!
通販サイトのアクセス集中からの危機を救う
経営統合後の事業損益構造の見える化を実現
仮想化をダメにするストレージの実態
DBのパフォーマンスに困ってませんか?
Xbox Live インディーズゲーム開発の軌跡
事例 VMwareでデータセンターをクラウド化
御社はまだフリーの転送サービスですか?
レガシーアプリケーションの稼働どうしてる?