XML と UTF-8 の
extension=php_xslt.dll //XSLT 関数ライブラリ
を使用する場合、上記 3 つのライブラリを使用する場合、php インストール ディレクトリ内の dlls ディレクトリをパスに追加する必要があります。追加しないと、パスに追加されません。
これらのクラス ライブラリ
次のコースでは、主に DB クラス ライブラリと Sql2XML クラス ライブラリを使用して、php で PEAR クラス ライブラリを使用します。
pear.php.net にアクセスしてダウンロードします。最新バージョン
上記 2 つのクラス ライブラリをダウンロードした後、php.ini に設定することをお勧めします
include_path = ".;d:phppear"
d:phppear は私の pear インストールです パス が設定されている場合、マシンを再起動しないと、パスが見つからず正常に使用できないため、Apache が正常に起動しません
この時点で、PHP で XML と XSLT を使用するための設定は完了です。非常に簡単です:)
Linux を使用しているユーザーは、
http://www.gingerall.com/ にアクセスして XSLt のソース コードをダウンロードできます
http://www.gnu.org/software/libiconv / Iconv に関するソース コードをダウンロードします
PHP と XML、プロセスの組み合わせ
このプロセスでは、このテクノロジーを使用するプロセスについてのみ説明し、ページングなどの他のテクノロジーは関与しません
この例では。 , 以下のデータベーステーブルとデータを使用します
テーブル名:Enterprise user information table、英語名:yhxx
テーブル構造:
#
# データテーブル構造 `yhxx`
#
CREATE TABLE yhxx (
nsrnm varchar(15) NOT NULL デフォルト '',
qymc varchar(200) NOT NULL デフォルト '',
qydh varchar(50) NOT NULL デフォルト '',
PRIMARY KEY (nsrnm)
) TYPE=MyISAM COMMENT='ユーザー情報テーブル';
#
# データテーブルの内容 `yhxx`
#
INSERT INTO yhxx VALUES ('310109040111985' 、'Qiaojia Catering Development Co., Ltd.'、'8621-63346626')
INSERT INTO yhxx VALUES ('310104040221736'、'Shanghai Jialing Trading Co., Ltd.'、'74292546'); INSERT INTO yhxx VALUES ('310108040331576', 'Jade Art Company', '54861465');
INSERT INTO 次に、データを抽出するプログラムとデータを表示するページを書き始めました
皆さんに理解していただくために、最も簡単な方法でプログラムを作成しました。
プログラム ファイル名:browesData.php
ページ ファイル名:browesData .html
このプログラムとページ ファイルはダウンロードできます。
次のページのコードを参照してください。
このテクノロジに興味がある場合は、PHP と XML を組み合わせて説明します。
require_once "DB.php"; //PEAR のデータベース処理クラス
$dataType = "mysql"; //データベースの種類
$user = "root "; ; // ユーザー名
$pass = "abcd" ; //パスワード
$host="202.96.215.200"; //Mysql データベース サーバーのアドレス
$db_name = "test"; 🎜>$dsn="$dataType://$user:$pass@$host/$db_name"; //データベースに接続するための DNS 設定
$db = DB::connect($dsn);データベースに接続します
if (DB::isError($db))
{
die ($db->getMessage()) //接続に失敗し、エラー メッセージを出力します
}
//以下の 2 つはパブリック関数です
/**
* xsl ドキュメントの読み取り
*
* @param String $filename - xsl ファイルの名前
* @return string
*/
function readXsl($filename)
{
if(false==file_exists($filename))
{
echo "読み取るファイル$filename";
return
}
return implode('', file($filename));
} //関数 readXsl の終了
/**
* xml ファイルまたは配列変数を xsl ファイルに基づいて HTML コンテンツに変換します
* http://knowsky.com
* @param array $arydata - 配列変数
* @param String $xslstring - xsl 文書データ
* @param String $xmlstring - xml 文書データ
*/
function getHtml($arydata = false, $xslstring = false, $xmlstring = false)
{
global $db; //今 $db オブジェクトを使用します
include_once("XML/sql2xml.php") //sql2xml をインクルードします
$sql2xmlclass = new xml_sql2xml($db); // sql2xml をインスタンス化します
$sql2xmlclass->setEncoding("GB2312") // データのトランスコーディング タイプを設定します
if (false == $xmlstring) { // ユーザーが渡した場合配列データの場合、配列データを xsl に適用します
//XML 文書データを生成するノード名を設定します
$options = array ( tagNameRow => "row" ,
tagNameResult => "result"
);
$sql2xmlclass->SetOptions($options);
//XML ドキュメントを生成するデータを追加します
}
//xml ドキュメントを取得します
$xmlstring = $sql2xmlclass->getxml();
//print $xmlstring; //XSLT Document を使用して XML データ ドキュメントを HTML に変換しましょう
$arguments = array('/_xml' => $xmlstring,
'/_xsl' => $xslstring
);
$xh = xslt_create() = xslt_process( $xh, 'arg:/_xml', 'arg:/_xsl', null, $arguments);
if ($result) {
return $result($xh ); >} else {
return "xml データを xsl に変換中にエラー"
xslt_free($xh)
}
} //関数 getHtml()
; //ユーザー情報テーブルのデータをクエリする SQL ステートメント
$sql = "select
nsrnm, #code
qymc, #business name
qydh #phone
from
yhxx #ユーザー情報テーブル";
//SQL文を実行
$res = $db->query($sql);
if ($db->isError($res) )
{
echo "SQL ステートメントの実行中にエラーが発生しました";
}
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
{
$data[] = $row; /データを配列に配置します
}
//print_r($data);
//データが多次元配列に配置されていることがわかります
//この時点で、プログラムは基本的に完成しました。次に、データを表示するページを定義する必要があります
//DW または FrontPage XP を開いて、表示ページを作成し、ダウンロードに提供しました。
//作成したデータ表示ページ ファイルは次のとおりです。browesData.html
/*
これは通常表示するデータ リスト インターフェイスです。
データ参照
コード 会社名 電話
< ;/td>
コードは次のとおりです:
*/
//XSLT 形式の HTML ドキュメントに加工しました
/*
コード 会社名 ="29%" align="center" bgcolor="#C0C0C0">電話
="50%">
>
$htmlFile="browesData.html" ;
$htmlStr = readXsl($htmlFile); //HTML ドキュメントを変数に読み込みます
echo getHtml($data , $htmlStr); 🎜>//プログラム終了
?>