php - 将 PHP 文件解析为 XML 文件?

标签 php mysql xml database parsing

我一直在从事一个在 XML 文件中显示数据的项目。 (这有点像 API)。我知道如何用 PHP 解析 XML,以及如何用 PHP 制作 XML 文件,但它们不能一起工作。 :)

基本上,我有两个文件:parse.phpxml.php

xml.php 从 MySQL 数据库中获取信息,并将其输出为 XML。

parse.php 加载并解析 xml.php 并将其输出为 HTML。

如果我运行 parse.php,它不会加载 xml.php。但是,如果我复制输出的 XML(来自 xml.php)并将其保存为 xml.xml 文件(并将 parse.php 中的文件名更改为“xml.xml”)。 xml') 有效。如果有任何帮助,我将不胜感激。

parse.php 的内容:

<?php

    $doc = "xml.php";

    $doc = @simplexml_load_file($doc) or die("Server Error: Recipe not found!");

    $title = $doc->title;

    echo $title

?>

xml.php 的内容:

<?php

    header("Content-type: text/xml");

    $dbc = mysql... //gets data from database

    echo "<!DOCTYPE..."; //xml stuff here

    echo "<title>" . $dataFromMySQL . "</title>";

?>

数据库连接正常,XML中的DOCTYPE没问题,所以不是问题。

同样,我只有在使用 PHP 动态生成 XML 时才会遇到问题。如果它是一个 .XML 文件,它工作正常。

谁能帮帮我?

谢谢。

最佳答案

simplexml_load_file 将尝试实际加载 xml.php 文件的 php 内容。它不会首先运行该文件。您需要重写或使用这个丑陋的解决方案:

ob_start();
include 'xml.php';
$xml = ob_get_clean();

$doc = simplexml_load_string($xml);
//...

注意:我更喜欢@lonesomeday 提出的解决方案,它只需要更多的重写。

关于php - 将 PHP 文件解析为 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10742985/

相关文章:

php - 与 OOP 概念斗争

MYSQL:连续日期的表更新

ios - 将 swift 协议(protocol)属性覆盖为可选

java - 用 Fragment 替换 CardView

javascript - registerJS 中的数组到字符串转换 - Yii2

javascript - 如何使用 cakePHP 执行 ajax 请求?

php - PDO 使用加密密码连接?

Java 或 SQL 在数组中添加缺失的月份

mysql - 使用子查询删除外键以获取其名称

Android 错误膨胀类 android.support.design.widget.NavigationView