2011-06-01 56 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

相關問題