首页 > 解决方案 > 将 XML 文件转换为 HTML 文件

问题描述

我有一个 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. 我该怎么做?

标签: phphtmlxml

解决方案


APPLICATION元素不包含文本。您应该再做一个内部循环$child以获取内部标签内的文本。目前,您只是在APPLICATIONs 上骑自行车。

$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>";
    }
}

推荐阅读