
idが条件に合ったら子ノードを削除する。という簡単なことをしたいのですが、サンプルソースをコピーして簡単なソースを作りましたが、何を変えてもエラーメッセージも出なければ、XMLファイルに変化もありません。
どなたか詳しい方削除ができない理由を教えてください。
books.xml
<?xml version="1.0" ?>
<data>
<p><name id="1">aaaa</name><ad>1111</ad></p>
<p><name id="2">bbbb</name><ad>2222</ad></p>
<p><name id="3">cccc</name><ad>3333</ad></p>
<p><name id="4">dddd</name><ad>4444</ad></p>
<p><name id="5">eeee</name><ad>5555</ad></p>
<p><name id="6">ffff</name><ad>6666</ad></p>
</data>
xmltest.php
<?php
//ドキュメントオブジェクトの作成
$doc = new DOMDocument();
//XML 文書ファイルのパース(DOM ツリーの作成)
$doc->load("books.xml");
$id='3';
//DOMXPath オブジェクトの作成
$xpath = new DOMXPath($doc);
//ローケーションパスの作成
$query = "/data/p[name[@id='$id']]";
//XPath を評価する 戻り値は、DOMNodeList
$nodeList = $xpath->query($query);
$pNode = $nodeList->item(0);
//print $pNode -> textContent;
//"data"要素ノードの取得
$dataElement= $doc->getElementsByTagName("data")->item(0);
//print $dataElement -> textContent;
//データを削除する
$dataElement->removeChild($pNode);
?>
これでidが3の行を消したいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
ChatGPT excel
-
MSFormsとは何ですか?
-
Excel関数で、セル内の文字列の...
-
PCでSteamのサイト内で検索する...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
公文書のxmlファイルの開き方が...
-
Webページに関するさまざまな情...
-
head要素
-
ヤフー知恵袋みたいなサイトを...
-
メールアドレスについて
-
マスターノード
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
4バイトを10進数に変換する方法
-
VB.NETで最後フォのフォ...
-
VBA コードを中断するには?
-
ブレークポイントで止らない
-
concat関数内でのシングルクォ...
-
動的な構造体配列の初期化
-
MSXMLを使ってノードを削除した...
-
XMLの値をリストボックスで選択...
-
ラジオボタンのチェック
-
aaa.comをサーバーで、www.aaa....
-
CPUの考え方を教えてください ...
-
東芝のDynabookなのですがアン...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
XMLで要素が記述された順番に意...
-
Excel-VBAでXMLの複数ノードの...
-
複数のマックPCによる数値計算...
-
XML、XSLTの適応エラー(IEから...
-
バッチファイルでテキストファ...
-
同じタグ名の項目取得
おすすめ情報