XML 服务器

XML 服务器

服务器上的 XML

XML 文件是类似 HTML 文件的纯文本文件。

XML 能够通过标准的 Web 服务器轻松地存储和生成。

在服务器上存储 XML 文件

XML 文件在 Internet 服务器上进行存储的方式与 HTML 文件完全相同。

启动 Windows 记事本,并写入以下行:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Remember me this weekend</message>
</note>

然后用适当的文件名,比如 "note.xml",在 Web 服务器上保存这个文件。

通过 PHP 生成 XML

如需使用 PHP 从服务器上生成 XML 响应,请使用下面的代码:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?> 

请注意,响应头部的内容类型必须设置为 "text/xml"。

查看这个 PHP 文件如何从服务器返回

如果您想要学习 PHP,请在我们的教程首页查找 PHP 教程。

从数据库生成 XML

XML 可在不安装任何 XML 软件的情况下从数据库生成。

如需从服务器生成 XML 数据库响应,只需简单地编写以下代码,并把它在 Web 服务器上保存为 PHP 文件:

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

$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$sql="select fname,lname from guest_book";
echo ("<?xml version='1.0' encoding='ISO-8859-1'?>")
if($result = $mysqli->query($sql)){
	while($obj = $result->fetch_object()){ 
		echo "<guestbook>";
    echo "<guest>";
		echo "<fname>" .$obj->fname. "</fname>";
		echo "<lname>" .$obj->lname. "</lname>";
		echo "</guest>";
  } 
  $result->close();
}
$mysqli->close();
echo "</guestbook>";
?>

查看以上 PHP 文件的实际数据库输出

如果您想要学习 PHP,请在我们的教程首页查找相关教程。


在服务器上通过 XSLT 转换 XML

下面的 PHP 代码在服务器上把 XML 文件转换为 XHTML:

<?php
try{
	// Allocate a new XSLT processor
	$xh = xslt_create();

	// Process the document, returning the result into the $result variable
	$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
	if ($result) {
    echo $result;
	} 
	xslt_free($xh);
}catch(Exception $e){
	echo $e->getMessage();
}
?> 

实例解释

  • 第一个代码块创建微软 XML 解析器的实例(XMLDOM),并把 XML 文件载入内存。
  • 第二个代码块创建解析器的另一个实例,并把 XSL 文件载入内存。
  • 最后一个代码使用 XSL 文档来转换 XML 文档,并把结果以 XHTML 发送到您的浏览器。

看看上面的代码怎么运行

通过 PHP 把 XML 保存为文件

这个 PHP 实例会创建一个简单的 XML 文档,并把该文档保存到服务器上:

<?php

$text = "<note>";
$text .=  "<to>Tove</to>";
$text .=  "<from>Jani</from>";
$text .=  "<heading>Reminder</heading>";
$text .=  "<body>Don't forget me this weekend!</body>";
$text .=  "</note>";

$dom = new DOMDocument('1.0', 'utf8');
$dom->loadXML($text);
$dom->save("test.xml");

?> 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/59678.html

(0)
上一篇 2021年8月10日
下一篇 2021年8月10日

相关推荐

发表回复

登录后才能评论