> 백엔드 개발 > PHP 튜토리얼 > XML 문서에 노드 생성 및 삽입

XML 문서에 노드 생성 및 삽입

巴扎黑
풀어 주다: 2016-11-23 10:36:48
원래의
1235명이 탐색했습니다.

PHP 파일:

<?php 
  header("content-type:text/html;charset=utf-8"); 
  //获得表单提交的数据 
$data=$_POST[&#39;data&#39;]; 
if(!empty($data))                     //判断数据是否获得,不为空则继续执行 
{ 
   foreach($data[&#39;tag&#39;] as $v)        //遍历数组,获得具体内容 
   { 
        $content[$v[1]]=$v[2];      
   } 
   //json_encode 
    $content=json_encode($content); 
    $recom_position=$data[&#39;recom_position&#39;]; 
    $recom_title=$data[&#39;recom_title&#39;]; 
    $recom_url=$data[&#39;recom_url&#39;]; 
    //读取文件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=&#39;javascript&#39;>"; 
        echo "alert(&#39;您选择的位置【 ".$recom_position." 】已经存在,请返回重新选择&#39;);"; 
        echo "window.location=&#39;index.html&#39;;"; 
        echo "</script>"; 
    } 
    else 
    { 
           $str=" ".$recom_position; 
           $fp=fopen("data/config.ini","a"); 
           fwrite($fp,$str); 
           fclose($fp); 
          //以xml格式组成字符串 
          $data="<data> 
                    <seqnum><![CDATA[".$data[&#39;recom_position&#39;]."]]></seqnum> 
                    <recom_position><![CDATA[".$data[&#39;recom_position&#39;]."]]></recom_position> 
                    <recom_title><![CDATA[".$data[&#39;recom_title&#39;]."]]></recom_title> 
                    <recom_url><![CDATA[".$data[&#39;recom_url&#39;]."]]></recom_url> 
                    <recom_content><![CDATA[[".$content."]]></recom_content> 
                    </data>"; 
          //创建一个文档实例 
           $document = new DOMDocument(&#39;1.0&#39;, "UTF-8"); 
        if(!is_file("data/AddArray.xml"))         //判断是否存在此文件,如果不存在则执行下面代码,创建xml文档及结构 
        { 
                  //使用缩进格式化输出 
                  $document->formatOutput = true; 
                  //创建<priority>根节点 
                  $root = $document->createElement(&#39;priority&#39;); 
                  $document->appendChild($root); 
                   //设置priority的属性 
                  $root->setAttribute(&#39;elapsedTime&#39;,&#39;352&#39;); 
                  $root->setAttribute(&#39;countNums&#39;,&#39;5&#39;); 
                  //创建<datalist>子节点 
                  $datalist = $document->createElement(&#39;datalist&#39;); 
                  //创建<data>子节点 
                  $data = $document->createElement(&#39;data&#39;); 
                  //创建<data>元素的第一个子节点<seqnum>,并设置其属性 
                  $seqnum = $document->createElement(&#39;seqnum&#39;); 
                  $seqnum->appendChild($document->createTextNode("<![CDATA[&#39;$recom_position&#39;]]>")); 
                  $data->appendChild($seqnum); 
                  //创建<data>元素的第二个子节点<recom_position>,并设置其属性 
                  $recomposition = $document->createElement(&#39;recom_position&#39;); 
                  $recomposition->appendChild($document->createTextNode("<![CDATA[&#39;$recom_position&#39;]]>")); 
                  $data->appendChild($recomposition); 
                  //创建<data>元素的第三个子节点<recom_title>,并设置其属性 
                  $recomtitle = $document->createElement(&#39;recom_title&#39;); 
                  $recomtitle->appendChild($document->createTextNode("<![CDATA[&#39;$recom_title&#39;]]>")); 
                  $data->appendChild($recomtitle); 
                  //创建<data>元素的第四个子节点<recom_url>,并设置其属性 
                  $recomurl = $document->createElement(&#39;recom_url&#39;); 
                  $recomurl->appendChild($document->createTextNode("<![CDATA[&#39;$recom_url&#39;]]>")); 
                  $data->appendChild($recomurl); 
                  //创建<data>元素的第五个子节点<recom_content>,并设置其属性 
                  $recomcontent = $document->createElement(&#39;recom_content&#39;); 
                  $recomcontent->appendChild($document->createTextNode("<![CDATA[&#39;$content&#39;]]>")); 
                  $data->appendChild($recomcontent); 
                  //追加<datalist>节点到根节点后 
                  $datalist->appendChild($data); 
                  $root->appendChild($datalist); 
                  //保存对象树到AddArray.xml 
                  $document->save(&#39;data/AddArray.xml&#39;); 
                  if(is_file("data/AddArray.xml")) 
                  { 
                      echo "<script language=&#39;javascript&#39;>"; 
                      echo "alert(&#39;数据提交成功!&#39;);"; 
                      echo "window.location=&#39;index.html&#39;;"; 
                      echo "</script>"; 
                  } 
                  else 
                  { 
                      echo "数据提交失败,<a href=&#39;index.html&#39;>点击这里</a>返回重新提交"; 
                  } 
            } 
            else 
            { 
                    //设置格式 
                    $document->formatOutput = true; 
                    //加载文件 
                    $document->load (&#39;data/AddArray.xml&#39;); 
                    //获取上级节点 
                    $utdm = $document->getElementsByTagName (&#39;datalist&#39;); 
                    //data 节点 
                    $info = $utdm->item(0); 
                    //获得data下面的子节点的数据 
                    $seqnum = $document->createElement("seqnum","<![CDATA[&#39;$recom_position&#39;]]>"); 
                    $recomposition = $document->createElement("recom_position","<![CDATA[&#39;$recom_position&#39;]]>"); 
                    $recomtitle = $document->createElement("recom_title","<![CDATA[&#39;$recom_title&#39;]]>"); 
                    $recomurl = $document->createElement("recom_url","<![CDATA[&#39;$recom_url&#39;]]>"); 
                    $recomcontent = $document->createElement("recom_content","<![CDATA[&#39;$content&#39;]]>"); 
                    $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=&#39;javascript&#39;>"; 
                          echo "alert(&#39;数据提交成功!&#39;);"; 
                          echo "window.location=&#39;index.html&#39;;"; 
                          echo "</script>"; 
                    } 
                    else 
                    { 
                          echo "数据提交失败,<a href=&#39;index.html&#39;>点击这里</a>返回重新提交"; 
                    } 
                    fclose($fp);//关闭XML文件 
            } 
     } 
} 
else 
{ 
    echo "没有获得任何数据"; 
} 
?>
로그인 후 복사


관련 라벨:
xml
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿