2010-06-14 75 views
1

例如,我们有这种格式的XML文件:删除父标记基于子价值

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

我需要的是: 如果所有的“d”标签都有效元素都是空的,那么我们就需要删除整个“A”标记元素

当然,我们需要用xml中的所有“A”标签来完成此操作。

+0

?你想要什么输出?我们需要更多回答这个问题。 – Lizard 2010-06-14 14:58:15

+0

输出 - 相同的xml格式字符串,没有“A” - 标签包含空的“D”标签。 解析我通常使用DomDocument。 – nukl 2010-06-14 15:06:48

回答

1

使用此算法:

  • 找到所有B元素
  • 每个B元素,发现所有的d元素
  • 每个d元素,检查它是否是空的
  • 如果所有的d元素为空,取出B的父代并将其从树中删除

要做到这一点与DOM扩展,请参阅:

什么是您使用XML解析器
+0

感谢您的好评! 但最好的答案只是一个代码示例;) – nukl 2010-06-14 15:08:45

+0

@ cru3l:fyi,当在问题中提供代码片段时,在答案中提供的代码片段更有可能。 – JYelton 2010-06-14 15:13:23