Entfernen Sie leere Tags aus einem XML mit PHP

8

Frage

Wie kann ich leere XML-Tags in PHP entfernen?

Beispiel:

%Vor%

XML Ergebnis:

%Vor%

Was ich will!

%Vor%

Das XML ohne die leeren Tags wie "tag3"

Danke!

    
Jimmy 22.12.2011, 11:28
quelle

5 Antworten

14

Sie können XPath mit Prädikat not(node()) , um alle Elemente auszuwählen, die keine untergeordneten Knoten haben.

%Vor%

druckt

%Vor%     
VolkerK 22.12.2011, 11:38
quelle
5
%Vor%

CodePad .

    
alex 22.12.2011 11:32
quelle
5

Dies funktioniert rekursiv und entfernt Knoten, die:

  • enthält nur Leerzeichen
  • hat keine Attribute
  • habe keine Kindernotizen
%Vor%     
Gajus 31.01.2014 23:38
quelle
0

Wenn Sie eine Menge davon machen wollen, tun Sie etwas wie:

%Vor%

Im Idealfall sollten Sie jedoch domdocument verwenden.

    
Prisoner 22.12.2011 11:34
quelle
0

Die Lösung, die mit meinem Produktionscode PHP SimpleXMLElement funktionierte, war die Verwendung von Xpath:

%Vor%

Beachten Sie, dass es nicht erforderlich ist, PHP DOM, DOMDocument, DOMXPath oder dom_import_simplexml () zu verwenden.

    
Jeff Sheffel 11.09.2013 18:07
quelle

Tags und Links