问题:请问以下代码如何修改可以输出以下内容:
title--11
author--22
content--33
代码如下:
message.html
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>留言板</title>
</head>
<body>
<p>发表留言</p>
<form name="message" method='post' action="message.php">
标题:<input type="text" name="title" /> <br>
作者:<input type="text" name="author" /> <br>
内容:<textarea cols="25" rows="10" name="content"></textarea ><br>
<input type="submit" name="sub" value='提交'>
<input type="reset" value='重置'>
</form>
</body>
</html>
message.php
<?php
//创建DOM对象
$dom = new DomDocument();
//创建根节点threads
$threads = $dom->createElement('threads');
$dom->appendChild($threads);
//创建根节点threads的子节点thread
$thread = $dom->createElement('thread');
$threads->appendChild($thread);
//创建thread的子节点title
$title = $dom->createElement('title');
$thread->appendChild($title);
//为title创建文本子节点
$title_value = $dom->createTextNode($_POST['title']);
$title->appendChild($title_value);
//创建thread的子节点author
$author = $dom->createElement('author');
$thread->appendChild($author);
//为author创建文本子节点
$author_value = $dom->createTextNode($_POST['author']);
$author->appendChild($author_value);
//创建thread的子节点content
$content = $dom->createElement('content');
$thread->appendChild($content);
//为content创建文本子节点
$content_value = $dom->createTextNode($_POST['content']);
$content->appendChild($content_value);
$xml = $dom->saveXML();//保存XML
//加载XML文件
$dom->load($xml);
//读取根节点
$root = $dom->documentElement;
/*
定义一个使用DOM读取XML内容的函数
*/
function readXML($node){
//获取根节点的全部子节点
$child = $node->childNodes;
foreach($child as $c){ //循环读取子节点中的内容
if($c->nodeType == XML_TEXT_NODE){//如果节点类型为文本节点类型
echo $c->nodeValue.'<br>';
}elseif($c->nodeType == XML_ELEMENT_NODE){//如果节点类型为节点对象
//echo $c->nodeName.'--';
readXML($c);
}
}
}
$fp = fopen('message.xml','w');//打开文件
if(fwrite($fp,$xml)){//写入内容
echo '留言成功<br>';
readXML($root);
}else{
echo '留言失败';
}
fclose($fp);//关闭文件
?>
谢谢
认证0级讲师