在php中读取XML标记中的内容和子元素

时间:2015-05-30 19:32:01

标签: php xml simplexml

我有一个xml树,我有一个标签

<et>
Middle English (Scots)
<it>polit</it>
, Latin
<it>politus,</it>
from past participle of
<it>polire</it>
</et>

我想阅读et的内容,并将<it>中的单词用斜体字表示。 但我只能阅读et内部的直接文本,而不是孩子。 PHP代码

1 个答案:

答案 0 :(得分:0)

这会将<it>中的单词放入$ itArray:

$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<et>
Middle English (Scots)
<it>polit</it>
, Latin
<it>politus,</it>
from past participle of
<it>polire</it>
</et>";

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
$itArray = array();
foreach($xml->it as $it){
    array_push($itArray, $it);
}
print($itArray[0]); // polit
print($itArray[1]); // politus
print($itArray[2]); // polire

我不确定您要对<et>做什么,但这会打印出所有<et>内容:

$xml= new SimpleXMLElement($myXMLData);
$xml->asXML();  
print($xml);

编辑:我假设您也希望将<et>中的内容放入数组中。由于XML如此混乱,您将不得不使用正则表达式。

希望我帮助过。