Как получить дочерние узлы из URL-адреса xml?

Получил вот эту ссылку https://www.ncbi.nlm.nih.gov/gene/7128?report=xml&format=text. Я пытаюсь написать код, который получает Interactions и GeneOntology в Gene-commentary_heading по ссылке. Мне удается использовать этот код только тогда, когда есть 2 или 3 узла, но в этом случае есть как минимум 6 узлов или больше. Кто-нибудь может мне помочь?

Ниже приведен пример информации, которую я ищу (это слишком много для визуализации, поэтому я просто показал часть)

<Gene-commentary_heading>GeneOntology</Gene-commentary_heading>
  <Gene-commentary_source>
    <Other-source>
      <Other-source_pre-text>Provided by</Other-source_pre-text>
      <Other-source_anchor>GOA</Other-source_anchor>
      <Other-source_url>http://www.ebi.ac.uk/GOA/</Other-source_url>
    </Other-source>
  </Gene-commentary_source>
  <Gene-commentary_comment>
    <Gene-commentary>
      <Gene-commentary_type value = "comment">254</Gene-commentary_type>
      <Gene-commentary_label>Function</Gene-commentary_label>
      <Gene-commentary_comment>
        <Gene-commentary>
          <Gene-commentary_type value = "comment">254</Gene-commentary_type>
          <Gene-commentary_source>
            <Other-source>
              <Other-source_src>
                <Dbtag>
                  <Dbtag_db>GO</Dbtag_db>
                  <Dbtag_tag>
                    <Object-id>
                      <Object-id_id>3677</Object-id_id>
                    </Object-id>
                  </Dbtag_tag>
                  ...



`$url = "https://www.ncbi.nlm.nih.gov/gene/7128?report=xml&format=text";


$document_xml = new DOMDocument();

$document_xml->loadXML($url);

$elements = $url->getElementsByTagName('Gene-commentary_heading');

echo $elements;

foreach($element as $node) {

    $GO = $node -> getElementsByTagName('GeneOntology');

    $Int = $node->getElementsByTagName('Interactions');

}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мой ответ

$esearch_test = "https://www.ncbi.nlm.nih.gov/gene/7128?report=xml&format=text";
$result = file_get_contents($esearch_test);
$xml = simplexml_load_string($result);
$doc = new DOMDocument();
$doc = DOMDocument::loadXML($xml);
$c = 1;
foreach($doc->getElementsByTagName('Gene-commentary_heading') as $node) {
echo "$c: ".$node->textContent."\n";
$c++; 
}

Другие вопросы по теме