検索
ホームページphp教程php手册とても便利なXMLクラス

xml


// XML に詳しくありません。アノテーション内の XML の記述が間違っている可能性があります。
// これを実装する場合は、一部のデータを変更する必要があります。条件によってあまりクエリされないものは XML で保存できます
// たとえば、仮想コミュニティのユーザー情報は、通常、ユーザー自身または他のユーザーが USERNAME を指定した場合にのみ表示されます
// 残りのコストは、オープン、クエリです。 、データセットを解釈し、毎回データベースを閉じます。

define("enter",chr(13).chr(10));
class DATA_XML //キー! ! !カスタム クラス
var $parser; //XML インタープリタ
var $on; // ルート要素
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)) //データを読み取ります
fclose($fp) );//Close
$this->parse($c); //解釈オブジェクトを設定します
}
else
{
echo "ooooo"; ? !デバッグに使用されているようです。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) //要素関数
{
$this->on = false; //要素関数
}

function getdata($parser,$ cdata) //要素を取得します
{
if($this->on && $this->tags!=$this->root)
{// 確認したほうが良いです (今要素の先頭であるかどうか) 、ルート要素ではないですか? )

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

}
};




/*XML ファイルに新たにキーを設定します
$xml = new DATA_XML(path."arm.xml","DATA"/*ルート要素*/);
$xml ->Data["UserName"]="関羽";
( $xml );
ファイルを読む$xml = ??
$xml->Data["Nick"]="Master Guan";//UPDATE
$xml-> ."arm.xml");// 上書き保存
*/
?>



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール