使用PHP中的DOM解析器获取xml文档的标记和内容


Fetching the tags and contents of an xml document with DOM parser in PHP

考虑这样的XML文件:

<title>sometitle</title>
<a>
    <abc>content1</abc>
    <xyz>content2</sxyz>
    <metadata>
        <b>
            <c>content3</c>
            <d><attribute></d>
        </b>
    </metadata>
</a>

我使用这段代码来解析我的文件,并得到如下输出:

标题:abc

a:content1 content2 content3

也就是说,它只解析一级标签,而无法解析子标签并获得值,任何帮助都将不胜感激,因为我是这方面的新手。到目前为止,这就是我尝试过的:

$xmlDoc = new DOMDocument();
$xmlDoc->load("somedoc.xml");
$x = $xmlDoc->documentElement;
foreach($x->childNodes AS $item) 
{
    print $item->nodeName . " = " . $item->nodeValue . "<br>";
}

查看下面的链接以获取有关haschildnodes()函数的php文档。

您可以在下面的页面中查看示例以了解用法。

http://php.net/manual/en/domnode.haschildnodes.php