2011-06-01 65 views
0

我是PHP和XML的新手。如何使用DOMDocument方法获取xml子元素的值?

有人可以告诉我如何获取XML元素的子元素或子节点的值?

index.php

$domdoc = new DOMDocument(); 
$domdoc->load('actionstars.xml'); 

foreach ($domdoc->getElementsByTagName("actionstar") as $star) { 
echo $star->item(0)->nodeValue; // displays the <id> element 
echo $star->item(1)->nodeValue; // displays the <name> element 
echo "<br />"; 
} 


actionstars.xml

<?xml version="1.0" encoding="ISO-8859-1"?> 
<actionstars> 
<actionstar> 
    <id>1</id> 
    <name>Jean Claude Van Damme</name> 
</actionstar> 
<actionstar> 
    <id>2</id> 
    <name>Scott Adkins</name> 
</actionstar> 
<actionstar> 
    <id>3</id> 
    <name>Dolph Ludgren</name> 
</actionstar> 
<actionstar> 
    <id>4</id> 
    <name>Michael Jai White</name> 
</actionstar> 
<actionstar> 
    <id>5</id> 
    <name>Michael Worth</name> 
</actionstar> 
</actionstars> 

请帮助...

回答

3

如果你能保证它们的顺序,你可以使用childNodes和偏移,否则......

$domdoc = new DOMDocument(); 
$domdoc->load('actionstars.xml'); 

foreach ($domdoc->getElementsByTagName("actionstar") as $star) { 
echo $shit->getElementsByTagName('id')->item(0)->nodeValue; // displays the <id> element 
echo $shit->getElementsByTagName('name')->item(0)->nodeValue; // displays the <name> element 
echo "<br />"; 
} 
+0

这意味着我必须指定元素? – 2011-06-01 02:41:52

+0

谢谢你......它的工作! – 2011-06-01 02:43:40