【发布时间】:2013-11-19 08:49:03
【问题描述】:
XML 代码:
<?xml version="1.0" encoding="UTF-8"?>
<glossword version="1.8.11">
<line>
<term t1="L" t2="O" t3="B" uri="lobby" id="1187"><![CDATA[lobby]]></term>
<defn>
<abbr lang="025"><![CDATA[]]></abbr><![CDATA[Grupo de personas influyentes, organizado para presionar en favor de determinados intereses. La actividad se denomina lobbying y quien la practica lobbista.<br />Un ejemplo de lobby turístico en España es Exceltur; el Skal Club sería un lobby turístico internacional.]]>
<syn><![CDATA[grupo de presión]]></syn>
<see link="Exceltur"><![CDATA[Exceltur]]></see>
<see link="Skal International"><![CDATA[Skal International]]></see>
</defn>
<defn>
<abbr lang="025"><![CDATA[]]></abbr><![CDATA[Vestíbulo de un hotel y de otros establecimientos como cines, teatros, restaurantes, etc., especialmente si es grande.]]>
<syn><![CDATA[hall, vestíbulo]]></syn>
<see link="Tururu"><![CDATA[Tururu]]></see>
<see link="Lalala"><![CDATA[Lalala]]></see>
</defn>
</line>
</glossword>
您好,我需要有关在 php 中管理此 XML 代码的帮助。对这个 XML 的快速总结是,它关于某个“术语”可能有不同的定义 (defn),每个定义可能有不同的同义词 (syn),另见 (see)...等。我无法检索“(syn)”和“(see)”标签之间的数据。这个 XML 是由一个(行)标签形成的,它是“术语”,它包含了其中的所有内容。
这是我用来尝试检索某个标签中所有数据的代码:
foreach ($xml->line as $line){
if($line->defn->see){
foreach($line->defn->see as $seealso){
$seealso = (array)$seealso;
$model->addSeealso($idtermino,$seealso[0]);
}
}
}
问题是我只能检索第一个标签之间的数据。例如,我只能获得“grupo de presión”,但无法以任何方式检索“hall, vestíbulo”。其余标签也会发生这种情况。
提前感谢您的帮助!
【问题讨论】: