2010-06-14 109 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