寻找建议:DOMDocument标识节点之间的父子关系

时间:2011-11-23 06:00:18

标签: php xml domdocument

我有一个包含2个父节点的XML文件,在第二个父节点中,还有另一个父节点和子节点。

<product>
<upc>677446126665</upc>
<modelNumber>Content</modelNumber>
<categoryPath>
  <category>
    <name>Content</name>
  </category>
  <category>
    <name>Content</name>
  </category>
  <category>
    <name>Content</name>
  </category>
  <category>
    <name>Content</name>
  </category>
</categoryPath>
  </product>

我不是在找人给我代码,我只是想了解它是如何工作的。

 <categoryPath> </categoryPath> 

子节点或父节点?他们使用PHP本机DOMDocument库是一个简单的方法,它允许我完全删除categoryPath以及每个名称节点的父节点(类别)

最终我会有一个这样的文件:

<product>
 <upc>44444</upc>
  <modelNumber>d</modelNumber>
  <name></name>
   <name></name>
    <name></name>
     <name></name>
 </product>

同样,我问的是这些节点之间的父子关系,我不是要求别人给我代码来解决这个问题。

1 个答案:

答案 0 :(得分:1)

父母关系

  • productupcmodelNumbercategoryPath
  • categoryPathcategory
  • categoryname

儿童关系

  • namecategory孩子
  • categorycategoryPath孩子
  • categoryPathproduct孩子

因此<categoryPath>既是父节点又是子节点。

你可以:

  1. 将每个名称节点保存到列表中(请参阅 DOMNode::cloneNode
  2. 删除categoryPath(请参阅 DOMNode::removeChild
  3. 将每个名称节点添加回DOM(请参阅 DOMNode::appendChild
  4. 以下XML教程说明了XML元素之间的关系。