My question is best phrase as: http://stackoverflow.com/questions/262351/remove-a-child-with-a-specific-attribute-in-simplexml-for-php
Ben SimpleXML kullanarak değilim hariç.
Ben bu yüzden en iyi şekilde yapıyor olabilir PHP için XML yeniyim
Ben $ dom-> her kullanıcı için ($ xml) tasarruf kullanılarak oluşturulan bir xml var. (Nedeniyle açıklanmayan nedenlerle bir xml tüm yerleştirerek değil)
Bana bu xml bildirgeyi <?xml version="1.0"?>
verir (diğerleri bunu yapmak için nasıl hiçbir fikrim, ama umarım, nokta değil)
<?xml version="1.0"?>
<details>
<person>name</person>
<data1>some data</data1>
<data2>some data</data2>
<data3>some data</data3>
<category id="0">
<categoryName>Cat 1</categoryName>
<categorydata1>some data</categorydata1>
</category>
<category id="1">
<categoryName>Cat 2</categoryName>
<categorydata1>some data</categorydata1>
<categorydata2>some data</categorydata2>
<categorydata3>some data</categorydata3>
<categorydata4>some data</categorydata4>
</category>
</details>
Ve ben bir kaldır düğmesini kullanarak aktive bir işlevi çalıştırdığınızda php DOM sınıfı ile id adında özel bir niteliği olan bir kategoriyi kaldırmak istiyorum.
Aşağıdaki işe almak için çalışırken fonksiyon im hata ayıklama olduğunu. I yanlış ne yapıyorum biliyor musun?
function CatRemove($myXML){
$xmlDoc = new DOMDocument();
$xmlDoc->load( $myXML );
$categoryArray = array();
$main = $xmlDoc->getElementsByTagName( "details" )->item(0);
$mainElement = $xmlDoc->getElementsByTagName( "details" );
foreach($mainElement as $details){
$currentCategory = $details->getElementsByTagName( "category" );
foreach($currentCategory as $category){
$categoryID = $category->getAttribute('id');
array_push($categoryArray, $categoryID);
if($categoryID == $_POST['categorytoremoveValue']) {
return $categoryArray;
}
}
}
$xmlDoc->save( $myXML );
}
Well the above prints me an array of [0]->0 all the time when i slot the return outside the if. is there a better way? I've tried using getElementbyId as well but I've no idea how to work that.
Ben bu işler daha kolay olurdu eğer rağmen bir nitelik kullanmamayı tercih ederim.