これは 4 つのファイルに分割されており、作成、追加、削除、変更の 4 つの関数があります。変数はすべてハードコーディングされています。
//index.php 作成関数
を使用して変数を受け取ることができます。
コードをコピー コードは次のとおりです。
$xmlpatch = 'index.xml'; >$ _id = '1';
$_content = 'content1';
$_sendtime = 'time1'; >$ _htmlpatch = '1.html';
jb51.net$doc = new DOMDocument('1.0', 'utf-8');
$doc -> net$ root = $doc -> createElement('root');//新しいノード
jb51.net$index = $doc ->createElement('index');//新しいノード
jb51. net$ url = $doc -> createAttribute('url');//新しい属性
$patch = $doc ->createTextNode($_htmlpatch);//新しいTEXT値
$url -> appendChild( $patch);// $patch テキストを $url 属性の値に設定します
jb51.net$id = $doc ->
$newsid = $doc; -> createTextNode ($_id);
$id ->
jb51.net$title = $doc -> $doc ->createTextNode($_title);
$title ->appendChild($newstitle);//ノード値
jb51.net$author = $doc ->createAttribute('author');
$author -> ;
jb51.net$doc -> createAttribute('time');
$sendtime -> newssendtime);
jb51.net$index -> appendChild($id);//$id をインデックス ノードの属性として設定します。以下は
$index -> );
$index ->
$index -> > appendChild($sendtime) ;
jb51.net$root ->appendChild($index);// インデックスをルートバイトポイントとして設定します
jb51.net$doc -> ;// root を次のノードとして設定します
jb51.net$doc -> save($xmlpatch);// ファイル
jb51.netecho $xmlpatch を保存します。
jb51 .net?>
jb51 .net
$xmlpatch = 'index.xml';
$_id = '2';
$_title = 'title2';
$_content = 'content2';
$_author = 'author2';
$_sendtime = 'time2';
$_htmlpatch = '2.html';
jb51.net$doc = 新しい DOMDocument();
$doc ->フォーマット出力 = true;
if($doc ->load($xmlpatch)) {
$root = $doc ->gt; documentElement;//获得根节点(root)
$index = $doc -> createElement('インデックス');
jb51.net$url = $doc -> createAttribute('url');
$patch = $doc -> createTextNode($_htmlpatch);
$url -> appendChild($patch);
jb51.net$id = $doc -> createAttribute('id');
$newsid = $doc -> createTextNode($_id);
$id -> appendChild($newsid);
jb51.net$title = $doc -> createAttribute('タイトル');
$newstitle = $doc -> createTextNode($_title);
$title -> appendChild($newstitle);
jb51.net$content = $doc -> createTextNode($_content);
jb51.net$author = $doc -> createAttribute('作成者');
$newsauthor = $doc -> createTextNode($_author);
$author -> appendChild($newsauthor);
jb51.net$sendtime = $doc -> createAttribute('時間');
$newssendtime = $doc -> createTextNode($_sendtime);
$sendtime -> appendChild($newssendtime);
jb51.net$index -> appendChild($id);
$index -> appendChild($title);
$index -> appendChild($content);
$index -> appendChild($url);
$index -> appendChild($author);
$index -> appendChild($sendtime);
jb51.net$root -> appendChild($index);
jb51.net$doc ->保存($xmlpatch);
jb51.netecho $_id 。 ' に ' が追加されました。 $xmlパッチ;
jb51.net} else {
echo 'xml ファイルの読み込みエラー!';
}
?>
复制代码 代發如:
$xmlpatch = 'index.xml';
$_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 ->gt; getAttribute('id') == $_id) {
$new ->gt; setAttribute('タイトル', $_title);
$new -> nodeValue = $_content;//修正节点值,真是太意外,没想跟JS一样直接能赋值...
//$new -> RemoveChild($new -> ノード値);
$checkexist = 1;
}
}
if($checkexist == 0) {
echo $_id . ' が ' に見つかりません。 $xmlパッチ;
} else {
$doc ->;保存($xmlpatch);
エコー $_id 。 「変更されました」;
}
} else {
echo 'xml ファイルの読み込みエラー!';
}
jb51.net?>