我有一个XML文件,我想将数据打印为包含多个标签的html。我使用foreach循环文件,但它只打印XML文件的标记。标签内的文字不会打印。
这是我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Jobs>
<APPLICATION>
<ACTION><![CDATA[MODIFY]]></ACTION>
<JOBID><![CDATA[21494017]]></JOBID>
<JOBTITLE><![CDATA[dummy MNC&#x27;S of Pune.]]></JOBTITLE>
<JobDescription><![CDATA[dummy]]></JobDescription>
<KEYSKILLS><![CDATA[dummy]]></KEYSKILLS>
<SUMMARY><![CDATA[dummy]]></SUMMARY>
</APPLICATION>
<APPLICATION>
<ACTION><![CDATA[MODIFY]]></ACTION>
<JOBID><![CDATA[21494017]]></JOBID>
<JOBTITLE><![CDATA[dummy MNC&#x27;S of Pune.]]></JOBTITLE>
<JobDescription><![CDATA[dummy]]></JobDescription>
<KEYSKILLS><![CDATA[dummy]]></KEYSKILLS>
<SUMMARY><![CDATA[dummy]]></SUMMARY>
</APPLICATION>
AND SO ON..........................................
</Jobs>
我面临的问题是,当我循环时,它只打印标签,如:
Jobs
APPLICATION:
APPLICATION:
APPLICATION:
APPLICATION:
APPLICATION:
以下是我用来打印XML文件的代码:
$xml=simplexml_load_file("fli.xml");
echo $xml->getName() . "<br>";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br>";
}
我无法在APPLICATION
内打印数据。我该怎么做?
答案 0 :(得分:1)
APPLICATION
元素不包含文字。你应该在$child
上再做一个内循环来获取内部标签内的文本。目前你正在APPLICATION
上骑自行车。
$xml=simplexml_load_file("fli.xml");
echo $xml->getName() . "<br>";
foreach($xml->children() as $child)
{
foreach($child->children() as $inner) {
echo $inner->getName() . ": " . $inner. "<br>";
}
}