gpt4 book ai didi

php - 我如何才能正确格式化 XML 输出

转载 作者:可可西里 更新时间:2023-11-01 08:24:12 26 4
gpt4 key购买 nike

我正在尝试使用 PHP 以 XML 格式显示数据库的内容。我能够显示数据,但是我无法正确格式化它。任何建议将不胜感激。

我正在努力实现的输出。

<people>
<person>
<id>111</id>
<first_name>sara</first_name>
<last_name>smith</last_name>
<email>ssmith@mail.com</email >
</person >
</people>

目前输出是这样的:

enter image description here

我的 PHP 代码

<?php 
// Create con
$con=mysqli_connect("HOST","USERNAME","PASSWORD","DB");

// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//get student ID from URL
$STU_ID = $_GET['id'];

$sql = "SELECT * FROM table";
$res = mysqli_query($con, $sql);

$xml = new XMLWriter();

$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);

$xml->startElement('people');

while ($row = mysqli_fetch_assoc($res)) {
$xml->startElement("person");

$xml->writeElement("id", $row['id']);
$xml->writeElement("first_name", $row['first_name']);
$xml->writeElement("last_name", $row['last_name']);
$xml->writeElement("email", $row['email']);
$xml->writeRaw($row['person']);

$xml->endElement();
}

$xml->endElement();

header('Content-type: text/xml');
$xml->flush();

mysqli_free_result($res);
// Close connections
mysqli_close($con);
?>

最佳答案

根据上面的评论...

在浏览器中查看 html 或 xml 时,不会呈现尖括号内的未知标记。您可以使用浏览器的查看源代码选项查看它们。

正如 Josh Taylor 在评论中指出的那样,您应该能够输出

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

但请参阅 http://php.net/manual/en/function.header.php 中的注释:

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.

关于php - 我如何才能正确格式化 XML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com