0
これまで同様の質問をしていましたが、他の同様の質問があり、答えが無かったので投票しました。私はまだ完全に困惑しているので、私はどんな助けにも感謝します。PHPでのXML removeChild with id
質問はここに前に来ている:How do I remove a specific node using its attribute value in PHP XML Dom?
をその質問への回答で提案されているように私は私のコードを適応していると、それはまだ動作しません。
私のXMLは、これに似たレイアウトである:
<fooBar>
<cat>
<thing id="111">
<title></title>
<desc></desc>
<link></link>
<img></img>
</thing>
<thing id="222">
<title></title>
<desc></desc>
<link></link>
<img></img>
</thing>
.............etc
</cat>
</fooBar>
そして、次のように私のPHPは次のとおりです。
$r = $_GET['removeChild'];
$x = "upload/".($_GET['xml']);
$doc = new DOMDocument();
$doc->load($x);
$xpath = new DOMXpath($doc);
$nodeList = $xpath->query('//thing[@id="'.$r.'"]');
if ($nodeList->length) {
$node = $nodeList->item(0);
$node->parentNode->removeChild($node);
}
$doc->saveXML();
echo $x. "<br /> " .$r;
正しい値がエコーされており、XMLファイルとして正しくロードされています私はそれが変更されていることがわかりますが、何も削除されていません。私はまた、xpath行に既知のIDをハードコーディングしようとしましたが、同じ結果が得られます。私は一日のうちにこれを動作させようと努力しています。
私はそれが何かばかげたことを知っていましたが、他の誰かからそれを聞くのが常に良いです。ありがとうございました! – tcnarss