如何使用PHP动态生成 XML 文件?
可以使用PHP从数据库中生成文件,可以通过PHP中的静态或动态方法完成。可以直接调用静态方法——无需创建类的实例。在这里,我们将讨论如何动态创建 XML 文件。
- 我们需要做的第一件事是从数据库中获取数据。为此,我们需要编写一个从表中获取所有详细信息的选择查询。
$result=mysqli_query($con, "Select * from Table_name");
- 现在我们需要使用 DOMDocument 创建一个 XML 文件,我们将在其中指定版本。 DOMDocument 代表整个 HTML 或 XML 文档,作为文档树的根。
$xml = new DOMDocument("1.0");
- 现在,我们将创建 XML 文档的元素。它将使用 createElement()函数创建新的元素节点。它创建了一个 DOMElement 类的新实例。这个节点不会出现在文档中,除非它被插入(例如) DOMNode::appendChild() 。
$fitness=$xml->createElement("users");
- 到目前为止,我们已经创建了一个 XML 文件。因此,为了显示这一点,我们将使用一个 echo 标记,以 XML 格式显示文件中的数据。要保存 XML 文件,我们将使用 save 命令。
echo "".$xml->saveXML()."";
我们需要做的下一件事是从表中获取元素。
示例:如果一个表有两个元素,那么它应该创建两个 XML 元素。为此,我们将简单地使用一个 while 循环,其中将有 mysql_fetch_array函数从表中获取所有数据。
由于数据库连接到本地服务器,因此它不会在您的 ide 中运行,但是一旦您创建了数据库,它就会正常工作。要创建数据库,请按照下面提到的过程
- 使用本地服务器在 mysql 中创建数据库适应度。
- 然后创建一个表用户。
- 然后添加列-uid、uname、email、密码、描述、角色、图片。
程序:
php
0){
$xml = new DOMDocument("1.0");
// It will format the output in xml format otherwise
// the output will be in a single row
$xml->formatOutput=true;
$fitness=$xml->createElement("users");
$xml->appendChild($fitness);
while($row=mysqli_fetch_array($result)){
$user=$xml->createElement("user");
$fitness->appendChild($user);
$uid=$xml->createElement("uid", $row['uid']);
$user->appendChild($uid);
$uname=$xml->createElement("uname", $row['uname']);
$user->appendChild($uname);
$email=$xml->createElement("email", $row['email']);
$user->appendChild($email);
$password=$xml->createElement("password", $row['password']);
$user->appendChild($password);
$description=$xml->createElement("description", $row['description']);
$user->appendChild($description);
$role=$xml->createElement("role", $row['role']);
$user->appendChild($role);
$pic=$xml->createElement("pic", $row['pic']);
$user->appendChild($pic);
}
echo "".$xml->saveXML()." ";
$xml->save("report.xml");
}
else{
echo "error";
}
}
?>
输出: