XML文档创建及插入节点

Php文件:
<?php
header("content-type:text/html;charset=utf-8");

//获得表单提交的数据
$data=$_POST['data'];
if(!empty($data)) //判断数据是否获得,不为空则继续执行
{
foreach($data['tag'] as $v) //遍历数组,获得具体内容
{
$content[$v[1]]=$v[2];
}

//json_encode
$content=json_encode($content);
$recom_position=$data['recom_position'];
$recom_title=$data['recom_title'];
$recom_url=$data['recom_url'];

//读取文件config.ini
$fp=fopen("data/config.ini","r");
$a=fgets($fp);
fclose($fp);

$a=substr($a,1); //截取字符串,去掉第一个空格
$b=explode(" ",$a); //返回数组
//判断位置是否唯一
if(in_array($recom_position,$b))
{

echo "<script language='javascript'>";
echo "alert('您选择的位置【 ".$recom_position." 】已经存在,请返回重新选择');";
echo "window.location='index.html';";
echo "</script>";
}
else
{
$str=" ".$recom_position;
$fp=fopen("data/config.ini","a");
fwrite($fp,$str);
fclose($fp);

//以xml格式组成字符串
$data="<data>
<seqnum><![CDATA[".$data['recom_position']."]]></seqnum>
<recom_position><![CDATA[".$data['recom_position']."]]></recom_position>
<recom_title><![CDATA[".$data['recom_title']."]]></recom_title>
<recom_url><![CDATA[".$data['recom_url']."]]></recom_url>
<recom_content><![CDATA[[".$content."]]></recom_content>
</data>";

//创建一个文档实例
$document = new DOMDocument('1.0', "UTF-8");

if(!is_file("data/AddArray.xml")) //判断是否存在此文件,如果不存在则执行下面代码,创建xml文档及结构
{
//使用缩进格式化输出
$document->formatOutput = true;
//创建<priority>根节点
$root = $document->createElement('priority');
$document->appendChild($root);
//设置priority的属性
$root->setAttribute('elapsedTime','352');
$root->setAttribute('countNums','5');
//创建<datalist>子节点
$datalist = $document->createElement('datalist');
//创建<data>子节点
$data = $document->createElement('data');
//创建<data>元素的第一个子节点<seqnum>,并设置其属性
$seqnum = $document->createElement('seqnum');
$seqnum->appendChild($document->createTextNode("<![CDATA['$recom_position']]>"));
$data->appendChild($seqnum);

//创建<data>元素的第二个子节点<recom_position>,并设置其属性
$recomposition = $document->createElement('recom_position');
$recomposition->appendChild($document->createTextNode("<![CDATA['$recom_position']]>"));
$data->appendChild($recomposition);

//创建<data>元素的第三个子节点<recom_title>,并设置其属性
$recomtitle = $document->createElement('recom_title');
$recomtitle->appendChild($document->createTextNode("<![CDATA['$recom_title']]>"));
$data->appendChild($recomtitle);

//创建<data>元素的第四个子节点<recom_url>,并设置其属性
$recomurl = $document->createElement('recom_url');
$recomurl->appendChild($document->createTextNode("<![CDATA['$recom_url']]>"));
$data->appendChild($recomurl);

//创建<data>元素的第五个子节点<recom_content>,并设置其属性
$recomcontent = $document->createElement('recom_content');
$recomcontent->appendChild($document->createTextNode("<![CDATA['$content']]>"));
$data->appendChild($recomcontent);

//追加<datalist>节点到根节点后
$datalist->appendChild($data);
$root->appendChild($datalist);
//保存对象树到AddArray.xml
$document->save('data/AddArray.xml');

if(is_file("data/AddArray.xml"))
{
echo "<script language='javascript'>";
echo "alert('数据提交成功!');";
echo "window.location='index.html';";
echo "</script>";
}
else
{
echo "数据提交失败,<a href='index.html'>点击这里</a>返回重新提交";
}
}
else
{
//设置格式
$document->formatOutput = true;
//加载文件
$document->load ('data/AddArray.xml');
//获取上级节点
$utdm = $document->getElementsByTagName ('datalist');
//data 节点
$info = $utdm->item(0);
//获得data下面的子节点的数据
$seqnum = $document->createElement("seqnum","<![CDATA['$recom_position']]>");
$recomposition = $document->createElement("recom_position","<![CDATA['$recom_position']]>");
$recomtitle = $document->createElement("recom_title","<![CDATA['$recom_title']]>");
$recomurl = $document->createElement("recom_url","<![CDATA['$recom_url']]>");
$recomcontent = $document->createElement("recom_content","<![CDATA['$content']]>");

$data = $document->createElement("data");
//给每个节点添加内容
$data->appendChild($seqnum);
$data->appendChild($recomposition);
$data->appendChild($recomtitle);
$data->appendChild($recomurl);
$data->appendChild($recomcontent);
$info->appendChild($data);
//保存文档
$document->save("data/AddArray.xml");
$fp = fopen("data/AddArray.xml", "w"); //打开XML文件,写入
if(fwrite($fp,$document->saveXML()))
{
echo "<script language='javascript'>";
echo "alert('数据提交成功!');";
echo "window.location='index.html';";
echo "</script>";
}
else
{
echo "数据提交失败,<a href='index.html'>点击这里</a>返回重新提交";

}
fclose($fp);//关闭XML文件
}
}
}
else
{
echo "没有获得任何数据";
}
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值