ホームページ  >  記事  >  バックエンド開発  >  PHPでのDOMDocumentの簡単な使用例コード(XML作成・追加・削除・変更)_PHPチュートリアル

PHPでのDOMDocumentの簡単な使用例コード(XML作成・追加・削除・変更)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:32:44798ブラウズ

合計 4 つのファイルがあり、それらは create、add、delete、modify の 4 つの関数であり、変数はすべてハードコーディングされています
//index.php 関数を作成します

コードをコピーします コードは次のとおりです:

$xmlpatch = 'index.xml';
$_title = 'title1'; 'content1';
$ _author = 'author1';
$_htmlpatch = '1.html';
jb51.net$doc = 新しい DOMDocument('1.0', 'utf-8') ;
$doc -> formatOutput = true
jb51.net$root = $doc -> //新しいノード
jb51.net$index = $doc -> ');//新しいノード
jb51.net$url = $doc ->createAttribute('url');//新しい属性
$patch = $doc ->createTextNode($_htmlpatch);//新しい TEXT 値
$url ->appendChild($patch);//$patch テキストを $url 属性の値に設定します
jb51.net$id = $doc ->createAttribute('id'); $doc ->createTextNode($ _id);
$id ->appendChild($newsid);
$newstitle = $doc -> ; createTextNode($_title);
$title ->appendChild($newstitle); // ノード値
jb51.net$author = $doc -> createAttribute('author' );
$newsauthor = $_author);
jb51.net$sendtime -> ('time');
$ newssendtime = $doc -> createTextNode($_sendtime);
jb51.net$index -> $id をインデックス ノードの属性に設定します。以下は同様です。
$index -> $index -> appendChild($ author);
$index -> appendChild($sendtime); // ルート バイト ポイント
jb51 にインデックスを設定します。 net$doc -> appendChild( $root);// root をフォローノードとして設定します
jb51.net$doc -> save($xmlpatch);//
jb51.netecho $xmlpatch を保存します。成功';
jb51.net?>
jb51.net


XML 操作</head> <br></body> html> <br><br> <br>//add.php は関数を追加します (index.php ファイルと同様に、主にノードを取得するためのロードと $root = $doc -> documentElement を追加します <br><br><br><br> コードをコピーします)は次のとおりです:<br><div class="codebody" id="code88651"> <br><?php <BR>$xmlpatch = 'index.xml'; <BR>$_id = '2'; <BR>$_title = 'title2'; <BR>$_content = 'content2'; <BR>$_author = 'author2'; <BR>$_sendtime = 'time2'; <BR>$_htmlパッチ = '2.html'; <BR>jb51.net$doc = 新しい DOMDocument(); <BR>$doc ->フォーマット出力 = true; <BR>if($doc ->load($xmlpatch)) { <BR>$root = $doc -> documentElement;//获得根节点(root) <BR>$index = $doc -> createElement('インデックス'); <br>jb51.net$url = $doc -> createAttribute('url'); <br>$patch = $doc -> createTextNode($_htmlpatch); <br>$url -> appendChild($patch); <br>jb51.net$id = $doc -> createAttribute('id'); <br>$newsid = $doc -> createTextNode($_id); <br>$id -> appendChild($newsid); <br>jb51.net$title = $doc -> createAttribute('タイトル'); <br>$newstitle = $doc -> createTextNode($_title); <br>$タイトル -> appendChild($newstitle); <br>jb51.net$content = $doc -> createTextNode($_content); <br>jb51.net$author = $doc -> createAttribute('作成者'); <br>$newsauthor = $doc -> createTextNode($_author); <br>$作者 -> appendChild($newsauthor); <br>jb51.net$sendtime = $doc -> createAttribute('時間'); <br>$newssendtime = $doc -> createTextNode($_sendtime); <br>$送信時間 -> appendChild($newssendtime); <br>jb51.net$index -> appendChild($id); <br>$インデックス -> appendChild($title); <br>$インデックス -> appendChild($content); <br>$インデックス -> appendChild($url); <br>$インデックス -> appendChild($author); <br>$インデックス -> appendChild($sendtime); <br>jb51.net$root -> appendChild($index); <br>jb51.net$doc ->保存($xmlpatch); <br>jb51.netecho $_id 。 ' に ' が追加されました。 $xmlパッチ; <br>jb51.net} else { <br>echo 'xml ファイルの読み込みエラー!'; <br>} <br>?> <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br> <br><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br><title>XML 操作 - 追加

jb51.net


// edit.php
$_id = '2';
$_title = '変更されました';
$_content = '変更されました'; jb51.net$doc = 新しい DOMDocument(); $doc ->フォーマット出力 = true; jb51.netif($doc ->load($xmlpatch)) { $root = $doc ->gt;ドキュメント要素;
$elm = $root -> getElementsByTagName('インデックス');
$checkexist = 0;
foreach ($elm as $new) {
if($new ->getAttribute('id') == $_id) {
$new ->gt; setAttribute('タイトル', $_title);
$新規 -> nodeValue = $_content;//修正节点值,真是太意外,没想跟JS一样直接能赋值...
//$new -> RemoveChild($new -> ノード値);
$checkexist = 1;
}
}
if($checkexist == 0) {
echo $_id . ' が ' に見つかりません。 $xmlパッチ;
} else {
$doc ->保存($xmlpatch);
$_id をエコーし​​ます。 ' 変更されました';
}
} else {
echo 'xml ファイルの読み込みエラー!';
}
jb51.net?>




XML 操作 - 修正

jb51.net




//del.php 删除機能



复制代码

代码如下:

$xmlpatch = 'index.xml';
$_id = '2';
jb51.net$doc = 新しい DOMDocument();
$doc ->フォーマット出力 = true;
if($doc ->load($xmlpatch)) {
$root = $doc ->ドキュメント要素;
$elm = $root -> getElementsByTagName('インデックス');
foreach ($elm as $new) {
if($new ->getAttribute('id') == $_id) {
if($root ->removeChild($new)) {
echo $_id . ' は削除されました';
} else {
echo $_id . ' 削除に失敗しました';
}
}
}
$doc ->保存($xmlpatch);
} else {
echo 'xml ファイルの読み込みエラー!';
}
jb51.net?>




XML 操作 - 删除

jb51.net



jb51.net
总结一、主に追加するのはcreate跟appendChild、create後の边跟Elementは作成点、跟Attributeは作成プロパティ、TextNodeは作成、その後appendChildは属しています系、これ么一看変更を除くには、まず、変更が必要なノードごとに getElementsByTagName を取得します。

www.bkjia.com本当http://www.bkjia.com/PHPjc/322777.html技術記事 4 つのファイルを共有し、それぞれは作成、追加、削除、修正の 4 つの機能、変更量は書き込み済み、変更は $_POST 方式で受信可能です //index.php 创建機能复制コード...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php XML入門教材_PHPチュートリアル次の記事:php XML入門教材_PHPチュートリアル

関連記事

続きを見る