使用PHP5 DOM进行XML转换

时间:2012-04-21 11:26:22

标签: php xml dom

我正在开发一个应用程序,我需要转换看起来像这样的XML文档(words.xml):

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE words SYSTEM "words.dtd">
<words>
<word id="word_1">Alfa</word>
<word id="word_2">Beta</word>
<word id="word_3">Gamma</word>
<word id="word_4">Delta</word>
<word id="word_5">Zeta</word>
</words>

使用PHP5和DOM。我希望结果是(在这种情况下):

word_1 = Alfa

我的PHP代码是这样的:

<?php

$xmlHitzakDok = new DOMDocument();

if($xmlHitzakDok->load("words.xml") === FALSE){die('Errorea hitzen xml-a kargatzean');}

$xPath_Hitzak = new DOMXPath($xmlHitzakDok);

$Hurrengo_Hitza = 'word_1';

foreach ($xPath->query('//words/word') AS $item)
{
   if ($item->getAttribute('id') == $Hurrengo_Hitza)
   {
    echo $item->getAttribute('id') . " = " . $item->nodeValue . "<br />";
   }
}

我没有得到任何结果。哪个是问题?

1 个答案:

答案 0 :(得分:1)

你应该使用:$ xPath-&gt; query('// words / word')而不是$ xPath_Hitzak-&gt; query('// words / word')