
XML DBだからできること:HTMLをDBにそのまま保存
鵜飼寛太(サイバーテック)
2008-03-19 18:30:00
ストア用のPHPスクリプトを用意
対象のファイルが整形されたXML文書(xhtmlで記述されたファイル)の場合、次のスクリプトでneoCoreへストアできる。
<?php /** * */ // neoCore関数のインクルード include('neoCore.functions.php'); // neoCoreセッション開始 $sid = getsession("userid", md5("password")); // xml文書の保存 $result = store($sid, file_get_contents("test.html")); // neoCoreセッションの終了 endsession($sid); // # header('Content-type: text/xml'); // 結果の表示 # echo $result; ?>
※useridとpasswordは環境に合わせて適宜書き換えのこと
filegetcontentsの引数でストアするhtmlファイルを指定しているので、この引数を変更すれば他のhtmlファイルをストアできる。
実際はxhtmlで書かれていることは少ない(meta、br、input等が閉じられていない事が多い)ので念のためxhtml化し、加えてトランザクション管理を実装すると以下のようになる。
<?php /** * */ // neoCore関数のインクルード include('neoCore.functions.php'); // DOMDocumentのインスタンスを生成 $doc = new DOMDocument(); // 余計な空白を削除 $doc->preserveWhiteSpace = false; // htmlファイルの読み込み $doc->loadHTMLFile("test.html"); // XML文書化 $xml = $doc->saveXML(); // neoCoreセッション開始 $sid = getsession("userid", md5("password")); // トランザクションの開始 transaction_start($sid); // xml文書の保存 $result = store($sid, $xml); // トランザクションの終了 transaction_commit($sid); // neoCoreセッションの終了 endsession($sid); // header('Content-type: text/xml'); // 結果の表示 echo $result; ?>
loadHTMLFileメソッドで保存対象のhtml をDOMDocumentにする。
これはloadHTMLFileメソッド(およびloadHtmlメソッド)の仕様で整形されたhtmlでなくてもパースできる事を利用している。
この際、妥当でない箇所はPHPのxmlパーサーの解釈によって補てんされるので意図しない結果になる可能性がある。
folllow builer on
twitter
- 新着記事
- 特集
- ブログ
- 企画特集
-
いままさに社会にとっての転換点
-
いまさら聞けない「PPAP」
-
さあ、クラウドで解決しよう。
-
デジタルを当たり前と言えるか?
-
ビッグデータ最前線!
-
話題のセキュリティ事故体験ゲーム
-
モバイルデバイスもターゲットに!
-
IDaaSって何?
-
利便性とセキュリティの両立
-
保育業界のDX(後編)
-
特集:IT最適化への道
-
セキュリティの今を知る
-
連載!プロが語るストレージ戦略
-
ゼロトラストに不可欠なID管理
-
内部不正や不注意をどう防ぐ?
-
データの散在と非常率運用がネック
-
講演の見どころを紹介
-
請求書がきてからでは遅い
-
いまあるデータで身近な業務をDX
-
次の一手はこれだ!
-
連載!プロが語るストレージ戦略
-
企業DXのキモはクラウドにあり
-
連載!プロが語るストレージ戦略
-
明日からではもう遅い?!
-
保育業界のDX(前編)