Нужны советы - PullRequest
       13

Нужны советы

1 голос
/ 23 ноября 2011

У меня есть XML-файл, который содержит 2 родительских узла, а во втором родительском узле есть еще один родительский и дочерний узлы.

<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 вместе с каждым из родительских узлов (категорий) узла имен

В конечном итоге у меня будет такой документ:*

Опять же, я спрашиваю об отношениях родитель-потомок между этими узлами, я не прошу, чтобы кто-то просто дал мне код для решения этой проблемы.

1 Ответ

1 голос
/ 23 ноября 2011

Родительские отношения

  • product является родительским из upc, modelNumber и categoryPath.
  • categoryPath является родителем из category.
  • category является родителем из name.

Отношения с детьми

  • name является дочерним из category.
  • category является ребенком из categoryPath.
  • categoryPath - это ребенок из product.

Итак, <categoryPath> является одновременно родительским и дочерним узлами.

Вы могли бы:

  1. сохранить каждый из узлов имени в список (см. DOMNode :: cloneNode )
  2. удалить categoryPath (см. DOMNode :: RemoveChild )
  3. добавить каждый из узлов имени обратно в DOM (см. DOMNode :: AppendChild )

Следующий учебник XML иллюстрирует отношения между элементами XML.

...