将XML文件转换为HTML文件

时间:2018-04-27 11:24:21

标签: php html xml

我有一个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&amp;#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&amp;#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内打印数据。我该怎么做?

1 个答案:

答案 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>";
    }
}