を必要とするとき、私は、タイトルは少し奇妙に思えるかもしれません知っていると私は事前に謝罪、しかし、私はこれを行うことができるようにしたいPHPを使用してXMLファイルから要素を削除します。私は特定のもの
xmlファイルがどのように見えますこの:
<data>
<row>
<EventID>12345</EventID>
<Event>Name of Event</Event>
<EventCat>2</PCatID>
<City>Tacoma</City>
<State>Washington</State>
<Zip>98421</Zip>
</row>
は今、別のカテゴリIDの持つこれらのトンがある私は、カテゴリ2でものを保存し、残りの部分を削除することができるようにしたい(1-5を言うことができます)。何か案は?私はここにいて、いくつかの異なる例を見ましたが、それらを働かせることができませんでした。このような
:
$searchString = '1';
$doc = new DOMDocument;
$doc->formatOutput = TRUE;
$doc->preserveWhiteSpace = FALSE;
$doc->load($path.'name.xml');
$xPath = new DOMXPath($doc);
$query = sprintf('//data/row[./PCatID[text()="%s"]]', $searchString);
}
$doc->saveXML();
は私を助けてください。
ありがとうございます。
この場合
だから、それが全体の「行」を削除します:最後に、私は、私は次の操作を行って、仕事に必要なものですPCatIDノードだけでなく、 – rchiriboga
$ file_xml = $パス。 "name.xml";$ d =新しいDOMDocument(); $ d-> load($ file_xml); $ xp =新しいDOMXpath($ d); $ ev-> parentNode-> removeChild($ ev); foreach($ xp-> query( "//行[./ PCatID!= 2]") \t } $ d-> save($ file_xml); – rchiriboga
@userあなたが望んでいたものではありませんか?いずれにしても、 'PCatID'要素を削除したいだけなら、それはxpath式の小さな変更に過ぎません。 – Artefacto