NCBI xml-format Printing nodeValues from tags with the same names
use a XSLT processor (http://php.net/manual/en/class.xsltprocessor.php) with the following stylesheet.

&lt;?xml version='1.0' encoding="UTF-8"?&gt;
&lt;xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'&gt;
    &lt;xsl:output method="html"/&gt;

    &lt;xsl:template match="/"&gt;
        &lt;div&gt;
            &lt;xsl:apply-templates select="//Gene-commentary_heading[ text() = 'GeneOntology']"/&gt;
        &lt;/div&gt;
    &lt;/xsl:template&gt;

    &lt;xsl:template match="Gene-commentary_heading"&gt;
        &lt;pre&gt;&lt;xsl:value-of select="name(.)"/&gt;&lt;/pre&gt;
        &lt;pre&gt;&lt;xsl:value-of select="."/&gt;&lt;/pre&gt;
        &lt;xsl:apply-templates select="..//Other-source_anchor"/&gt;
    &lt;/xsl:template&gt;

    &lt;xsl:template match="Other-source_anchor"&gt;
        &lt;pre&gt;&lt;xsl:value-of select="name(.)"/&gt;&lt;/pre&gt;
        &lt;pre&gt;&lt;xsl:value-of select="."/&gt;&lt;/pre&gt;
    &lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;