2010-06-14 5 views
1

Par exemple, nous avons un fichier xml avec ce format:Remove tag XML parent basé sur la valeur de l'enfant

<A> 
     <B> 
      <C></C> 
      <D></D> 
      <D></D> 
     </B> 
</A> 

i besoin que: si tous les "D" -Tags éléments sont vides, nous devons supprimer tout « A » élément -tag

et, bien sûr, nous devons le faire avec tous les « A » -tags en XML.

+0

Qu'est-ce que l'analyseur XML utilisez-vous? Quelle sortie voulez-vous? Nous avons besoin de plus pour répondre à cette question. – Lizard

+0

sortie - même chaîne de format xml, sans "-tags" -tags "D" vides inclus. Pour l'analyse, j'utilise habituellement DomDocument. – nukl

Répondre

1

Utilisez cet algorithme:

  • trouver tous les éléments B
  • pour chaque élément B, trouver tous les éléments D
  • pour chaque élément D, vérifiez si elle est vide
  • si tous D les éléments sont vides, récupèrent le parent de B et le retirent de l'arbre

Pour le faire avec l'extension DOM, voir:

+0

merci pour votre réponse! mais la meilleure réponse serait juste un exemple de code;) – nukl

+0

@ cru3l: FYI, extraits de code fournis dans les réponses sont plus probables lorsque des extraits de code sont fournis dans les questions. – JYelton

Questions connexes