我下载了一个法语 - >英语词典,用英语翻译法语请求(一个单词请求)。
例如,用户键入" voiture" (搜索输入中的汽车)将翻译成" car"和" car"将在我的数据库中搜索(对用户不可见,他认为正在寻找" voiture")。
所以这是一个词典:
SimpleXMLElement Object
(
[entry] => Array
(
...
...
[7] => SimpleXMLElement Object
(
[form] => SimpleXMLElement Object
(
[orth] => ADN
[pron] => ad
)
[gramGrp] => SimpleXMLElement Object
(
[pos] => n
[gen] => masc
)
[sense] => SimpleXMLElement Object
(
[def] => DNA
)
)
[8] => SimpleXMLElement Object
(
[form] => SimpleXMLElement Object
(
[orth] => Abkhasie
[pron] => abkazi
)
[gramGrp] => SimpleXMLElement Object
(
[pos] => n
)
[sense] => SimpleXMLElement Object
(
[def] => Abkhazia
)
)
...
所以,[orth]包含法语单词,[def]包含英语翻译。如果[orth]的值存在,我会知道如何搜索,如果该值存在,则返回SimpleXMLElement对象中[def]的值。
答案 0 :(得分:2)
这样的事情就足够了。我已经在你的帖子中嘲笑了XML,因为对原始结构不太确定,但你应该了解xpath查询:
$languageXml = <<<XML
<entries>
<entry>
<form>
<orth>ADN</orth>
</form>
<sense>
<def>DNA</def>
</sense>
</entry>
<entry>
<form>
<orth>poisson</orth>
</form>
<sense>
<def>fish</def>
</sense>
</entry>
<entry>
<form>
<orth>voiture</orth>
</form>
<sense>
<def>car</def>
</sense>
</entry>
</entries>
XML;
$xml = new SimpleXMLElement($languageXml);
$searchTerm = 'voiture';
if($result = $xml->xpath("entry/form/orth[.='$searchTerm']/../../sense")) {
echo $result[0]->def;
};