element aus XML löschen

tenso

Grünschnabel
Hallo,
habe ein Problem und habe nicht wirklich von XML Ahnung
meine XML:
Code:
<eintraege>
  <eintrag id="265732414">
   <angebot>Originelle Werbegeschenke, Spezialdrucke</angebot>
   <warengruppe>2414</warengruppe>
   <ansprechpartner>265731</ansprechpartner>
   <logo>J</logo>
   <logo_gebuchtbis>14061</logo_gebuchtbis>
   <zuordnungen>
     <prospekt>53212414</prospekt>
   </zuordnungen>
  </eintrag>
  <eintrag id="265732415">
   <angebot>Originelle Werbegeschenke, Spezialdrucke</angebot>
   <warengruppe>2415</warengruppe>
   <ansprechpartner>265731</ansprechpartner>
   <logo>J</logo>
   <logo_gebuchtbis>14061</logo_gebuchtbis>
   <zuordnungen>
     <prospekt>53212414</prospekt>
     <prospekt>53212415</prospekt>
   </zuordnungen>
  </eintrag>
 </eintraege>
und zwar möchte ich z.b."<prospekt>53212415</prospekt>" löschen
habe es schon mit xpath probier aber des hat nicht geklappt :(
als letztes hab ich des mit dom probiert aber des klappt auch nicht
XML:
PHP:
$file_eintraege=$folder.'/eintraege.xml';
$eintraege = simplexml_load_file($file_eintraege);
foreach ($eintraege->zuordnungen->xpath('//prospekt') as $prospekt) { 
if($prospekt==$form_id) { $prospekt=""; }
mit dem code hab ichs versucht
DOM:
PHP:
$doc = DOMDocument::load($file_eintraege);
$xp = new DOMXPath($doc);
$nodeList = $xp->query(sprintf('zuordnungen[prospekt = "%s"]', $form_id));
$nodeList->item(0)->removeChild($nodeList->item(0));
$form_id kommt von einem Formular.


zurzeit kommen diese Fehler mit DOM:
Code:
Warning: DOMNode::removeChild() expects parameter 1 to be DOMNode, null given in /home/0/www/xxx/htdocs/_X/korrekturbogen/0_XML.php on line 303
SimpleXMLElement Object ( [eintrag] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 117133 ) [angebot] => dtjhdtjtj [warengruppe] => 2804 [ansprechpartner] => 3748 [logo] => N [logo_gebuchtbis] => 14259.537662 [zuordnungen] => SimpleXMLElement Object ( [prospekt] => 60649 ) ) )
Catchable fatal error: Object of class DOMElement could not be converted to string in /home/0/www/xxx/htdocs/_X/korrekturbogen/0_XML.php on line 312
 
Zuletzt bearbeitet:
Hallo,

vielleicht solltest du diese Frage eher im PHP-Forum stellen, da du ja mit PHP die XML-Datei bearbeiten möchtest. Ich denke da wird dir eher geholfen.

MFG

zEriX
 
Hallo,

ich habe genau das selbe Problem aber in Java.
Um das Beispiel von tenso aufzugreifen,
wie würdet ihr den <eintrag id="265732414">
löschen?
(incl. aller Unterelemente)

So dass die xml nach dem Löschen so aussieht:
Code:
<eintraege>
  <eintrag id="265732415">
   <angebot>Originelle Werbegeschenke, Spezialdrucke</angebot>
   <warengruppe>2415</warengruppe>
   <ansprechpartner>265731</ansprechpartner>
   <logo>J</logo>
   <logo_gebuchtbis>14061</logo_gebuchtbis>
   <zuordnungen>
     <prospekt>53212414</prospekt>
     <prospekt>53212415</prospekt>
   </zuordnungen>
  </eintrag>
 </eintraege>

Wär super wenn mir jemand helfen könnte.

vg
smartin123
 
Zurück