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


Looking for advice: DOMDocument identifiying parent child relationships between nodes

我有一个包含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>

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

父关系

  • productupcmodelNumbercategoryPath亲代
  • categoryPathcategory
  • categoryname

子关系
  • namecategory子节点
  • categorycategoryPath子节点
  • categoryPathproduct子节点

所以<categoryPath>既是父节点又是子节点。

你可以:

  1. 将每个名称节点保存到一个列表中(参见DOMNode::版本)
  2. remove categoryPath(参见DOMNode:: removeChild)
  3. 将每个名称节点添加回DOM(参见DOMNode::列表末尾)

以下XML教程演示了XML元素之间的关系。

  • XML树-父
  • XML树-子