1

私はこのコードを持っています

$doc = new DOMDocument; 
$doc->load('Clans/' . $_POST['s']);

$thedocument = $doc->documentElement;

//this gives you a list of the messages
$list = $thedocument->getElementsByTagName('member');
foreach($_POST['delete_unit'] as $unit_id){
$nodeToRemove = null;
foreach ($list as $domElement){
  $attrValue = $domElement->getAttribute('id');
  if ($attrValue == $unit_id) {
    $nodeToRemove = $domElement; //will only remember last one- but this is just an example :)
  }
}
}

//Now remove it.
if ($nodeToRemove != null)
$thedocument->removeChild($nodeToRemove);

$doc->saveXML('Clans/' . $_POST['s']);

POST['delete_unit'] は ID の配列であり、これが機能しない理由、またはこれを行うためのより良い方法があります

エラー コード PHP キャッチ可能な致命的なエラー: DOMDocument::saveXML() に渡される引数 1 は、DOMNode のインスタンスである必要があります。

4

1 に答える 1

1

最後の行で、私はあなたが探していると思います

file_put_contents('Clans/' . $_POST['s'], $doc->saveXML());

引数が渡されない場合はsaveXML()、ドキュメント全体を文字列として返します。

フォーム入力のサニタイズも検討する必要があります。

于 2013-09-11T16:05:50.427 に答える