2016-08-02 7 views
0

私は以下のコードが私に名前の値を与えてくれない理由を理解できません。私はすでに何時間も困惑していますが、結果はありません。すべてのヘルプは非常にいいだろう...PHPでXMLのgetElementsByTagNameが見つからないのはなぜですか?

コードは次のとおりです。

$xml = new DOMDocument('1.0', 'UTF-8'); 
    $xml->LoadXml(" 
<node> 
    <cv> 
    <opleiding> 
     <naam>MicrosoftOpleiding bij bill - Microsoft</naam> 
     <periode>2016</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Post Universitair Centrum (Belgie) - Master of Business Administration (Informatie, Technologie, Logistiek en Marketing)</naam> 
     <periode>1987 - 1995</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Vrije Universiteit - Bedrijfskunde</naam> 
     <periode>1987 - 1992</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Opleidingsinstantie - Studie HBO</naam> 
     <periode>2006 - 2016</periode> 
    </opleiding> 
    </cv> 
</node> 
"); 
    writetolog ("Dump of XML: ". $xml->savexml()); 
    $nodelist = $xml->getElementsByTagName('opleiding'); 
    foreach ($nodeList as $node) { 
    $naam = $node->getElementsByTagName('naam'); 
    $naamID = $naam->item(0)->nodeValue; 
    writetolog ("The name in de opleiding is " . $naamID); 
    } 
    writetolog ("After the loop"); 

はその後、私のログファイルにある:

14:26:48 Start run 
14:26:48 s:644:"Dump of XML: <?xml version="1.0"?> 
<node> 
    <cv> 
    <opleiding> 
     <naam>MicrosoftOpleiding bij bill - Microsoft</naam> 
     <periode>2016</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Post Universitair Centrum (Belgie) - Master of Business Administration (Informatie, Technologie, Logistiek en Marketing)</naam> 
     <periode>1987 - 1995</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Vrije Universiteit - Bedrijfskunde</naam> 
     <periode>1987 - 1992</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Opleidingsinstantie - Studie HBO</naam> 
     <periode>2006 - 2016</periode> 
    </opleiding> 
    </cv> 
</node> 
"; 
14:26:48 s:14:"After the loop"; 

なぜ$ノードリストが空になりますか?

+0

'$のnodelist' =' $ nodeList' – FirstOne

+0

MMM、thxsが...これは大文字と小文字が区別されることpffffffを知っていたしませんでした。 – Justme

+0

これらのエラーを有効にすると、画面に表示されません。私はdrupalの下で開発しています、どのようにファイルにこれらのエラーを取得するには? – Justme

答えて

2

ケースの問題:$nodelist$nodeListは異なる変数です。

$nodeList = $xml->getElementsByTagName('opleiding'); 

$nodelist = $xml->getElementsByTagName('opleiding'); 

を変更すると、問題を解決する必要があります。コードの下

+0

リファレンス:[基本](http://php.net/manual/en/language.variables.basics.php):_変数名で大文字と小文字が区別されます._ – FirstOne

3

使用 - !

$xml = <<< XML 
<?xml version="1.0" encoding="utf-8"?> 
<node> 
    <cv> 
    <opleiding> 
     <naam>MicrosoftOpleiding bij bill - Microsoft</naam> 
     <periode>2016</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Post Universitair Centrum (Belgie) - Master of Business Administration (Informatie, Technologie, Logistiek en Marketing)</naam> 
     <periode>1987 - 1995</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Vrije Universiteit - Bedrijfskunde</naam> 
     <periode>1987 - 1992</periode> 
    </opleiding> 
    <opleiding> 
     <naam>Opleidingsinstantie - Studie HBO</naam> 
     <periode>2006 - 2016</periode> 
    </opleiding> 
    </cv> 
</node> 
XML; 

$dom = new DOMDocument; 
$dom->loadXML($xml); 
$opleiding = $dom->getElementsByTagName('opleiding'); 
foreach ($opleiding as $ople) { 
    echo $ople->nodeValue; 
    echo "<br/>"; 
} 
関連する問題