我有一个 XML 文件,其中包含带有一些非常简单的布局结构的文本:
<?xml version='1.0'?>
<page>
<section>
<header>Header</header>
<par>Some paragraph</par>
<par>Another paragraph with <emph>formatting</emph></par>
</section>
</page>
然后在 PHP 中,我使用 SimpleXML 读取了这个文件(请注意,我故意剥离了其他标签!):
$page = file_get_contents("page.xml");
if ($page) {
$stripped = strip_tags($page, "<?xml><page><section><header><par><emph>");
$xml = new SimpleXMLElement($stripped);
}
现在我想遍历 XML 元素并将它们打印为我网站的 HTML。最终结果应该是以下代码段:
<h1>Header</h1>
<p>Some paragraph
<p>Another paragraph with <i>formatting</i>
我已经浏览了 SimpleXML 和 XPath,并试图弄清楚如何遍历 XML 树以便我可以将原始 XML 文件消化成 HTML 输出。我可以产生一些想要的结果,但<emph></emph>
它就消失了;我如何进一步下降到树中?到目前为止我的代码:
foreach ($xml->section as $s) {
echo "<h1>" . $s->header . "</h1>";
foreach ($s->par as $p) {
echo "<p>" . $p;
// Do some magic here to ensure <emph> tags are recognized and responded to properly.
}
}
任何提示和指针表示赞赏!谢谢 :-)