[英]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.