ホームページ > php教程 > php手册 > とても便利な XML クラスです。 !オリジナル

とても便利な XML クラスです。 !オリジナル

WBOY
リリース: 2016-06-13 12:46:27
オリジナル
856 人が閲覧しました


// XML に詳しくないので、アノテーション内の XML の記述が間違っている可能性があります。
// これは単なるアイデアであり、実装するには、いくつかのデータを少し変更する必要があります。 XML を使用してクエリされることはあまりありません。 Save
// たとえば、仮想コミュニティ内のユーザー情報は、通常、ユーザー自身または別のユーザーが USERNAME を指定した場合にのみ表示されます。
// 残りは開く必要があります。クエリを実行し、データセットを解釈し、消費するたびにデータベースを閉じます。

define("enter",chr(13).chr(10));
class DATA_XML //キー! ! !カスタム クラス
{
var $parser; //XML インタープリター
var $tags; //
var $root; 🎜>var $Data = array(); // 要素配列

function DATA_XML($filename,$root) //クラスの初期関数 filename ファイル名、ルート root 要素
{
$this ->root = $root; //初期ルート要素
$this->parser = xml_parser_create();//解釈オブジェクトを作成
xml_set_object(&$this->parser,&$this ); //オブジェクトを設定
xml_set_element_handler($this->parser,"tag_on","tag_off");//要素管理関数を設定
xml_set_character_data_handler($this->parser,"getdata"); //データ管理イベントを設定します
xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0); //厳密に大文字と小文字を区別する必要があります

if( file_exists($filename) ) //ファイルは見つかりましたか?
{//Find
$fp = fopen($filename,"r"); //読み取り専用で開きます
$c = fread($fp,filesize($filename)); data
fclose($fp);//Close
$this->parse($c); //解釈オブジェクトを設定します
}
else
{
echo "うおおお "; //! ? !デバッグに使用されているようです。else
}


}

function parse($data)//説明 function
{
xml_parse を削除するだけです。 ($this->parser,$data);
}

function tag_on($parser,$tag,$attributes)//要素トリガー関数を検出します
{
$this- >on = true; // すでにトリガーされています
$this->tags = $tag;
//echo $tag;
}

function tag_off($parser,$ tag ) // 要素バインディング function
{
$this->on = false; // 要素バインディング
}

function getdata($parser,$cdata) // element
{
if($this->on && $this->tags!=$this->root)
{// (要素であるかどうか) を確認したほうがよい)

$this->Data[$this->tags]=trim($cdata);
!タグを使用して配列テーブルを作成し、配列要素にデータを追加します
//echo trim($cdata);
//echo $this->tags;
//echo "n";
}
}
function check($str)
{//チェック文字
if( strlen($str)return ' ' ;//Return ' '
else
return $str;//それ以外の場合は、元のパスに戻ります(そうでない場合、XML には終了タグがないように見えます)
}
function saveas( $filename)//
{
$c=''.enter; ",chr(13).chr(10) として保存));
$c.="<".$this->root.">".enter;
for(reset($this->Data);$i=key($ this->Data);next($this->Data))
{//すべてのデータのリストを開始します
$c.= "<".$i.">".$ this->check($this->Data[$i])."// 配列テーブル名を要素ラベルとして使用し、追加しますデータ内容
}
//echo $c;
$c.="root.">".enter;//終了タグ
$fp = fopen( $filename , "w" );// ファイルを書き込みます
fwrite($fp,$c);
fclose($fp);

}
};




/*XML ファイルの新しいキー
DATA_XML(path."arm.xml","DATA"/*ルート要素*/) );
$ xml->Data["UserName"]="Guan Yu";
$xml->Data[ "Nick"]="Guan Yuchang";
$xml->saveas(path."arm) .xml");
unset( $xml );
// ファイルを読み取ります
$ xml = new DATA_XML(path."arm.xml","DATA");
echo $xml ->Data["Nick"];//見せますか?
$xml->Data["Nick"]="Master Guan";//UPDATE
$xml->Data["Master"]="Liu Bei";//INSERT INTO
$ xml->saveas(path."arm.xml");//上書き保存
*/
?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート