繁体   English   中英

如何在PHP中将childs附加到xml

[英]How append childs to xml in php

我正在用PHP编写一种小型CMS。 一切正常,但是我从未使用过XML,通常我使用SQL DB或CSV。 现在,我必须向XML工作表中添加一些元素。 我有一个完全覆盖文件的功能。 我想附加数据。

这就是函数“写”

function scrivi() {
    if ( isset($_POST["titolo"])) {
        $doc = new DOMDocument(); 
        $doc->formatOutput = true; 
        $r = $doc->createElement( "eventi" ); 
        $doc->appendChild( $r );

        $b = $doc->createElement( "evento" ); 
        $titolo = $doc->createElement( "titolo" ); 
        $titolo->appendChild( $doc->createTextNode( $_POST['titolo'] ) ); 
        $b->appendChild( $titolo ); 
        $data = $doc->createElement( "data" ); 
        $data->appendChild( $doc->createTextNode( $_POST['data'] ) ); 
        $b->appendChild( $data ); 
        $desc = $doc->createElement( "desc" ); 
        $desc->appendChild( $doc->createTextNode( $_POST['desc'] ) ); 
        $b->appendChild( $desc ); 

        $r->appendChild( $b ); 

        $doc->save("eventi.xml");
    }
}

这是一个解释性的XML

<?xml version="1.0"?>
<eventi>
  <evento>
    <titolo>Festa</titolo>
    <data>02/03/1993</data>
    <desc>Centro Sociale Asilo Politico presenta 99 posse</desc>
  </evento>
  <evento>
    <titolo>Festona</titolo>
    <data>15/08/1996</data>
    <desc>Falò alla baia: solite facce, solita feccia</desc>
  </evento>
</eventi>

我还具有一个显然可以从XML读取数据的功能。 我可以从“写入”函数内部使用“读取”函数,因此我可以一次(使用foreach)读取内容,一个元素并将其插入要写入的元素队列($ b)。 它可以工作,但是我对此不满意,我想简单地追加,或者至少在一段时间内读取文件的全部内容。 我尝试到处复制一些代码片段,但是找不到我完全理解的功能,因此我需要理解。

希望我具体,抱歉英语不好。

PHP在SimpleXML下有一个名为addChild()的函数;

它会像这样工作

$d = new SimpleXMLElement("node");
$add = $d->addChild("evento");
$add->addChild("titolo" , $titolo);
$add->addChild("data" , $data);
$add->addChild("desc" , $desc);

就是这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM