我正在使用此链接中的 Array2XML,效果非常好!
但是我需要在输出之前添加一些节点。我需要我的结构是这样的:
<clients>
<client> -->Need to add
<id>myid</id> -->Need to add
<name>name</name> -->Need to add
<items> -->Need to add
<item>
<title>itemtitle</title>
<date>itemdate</date>
</item>
</items>
</client>
<clients>
但我能得到的只是:
<clients>
<item>
<title>itemtitle</title>
<date>itemdate</date>
</item>
<clients>
ROOT NODE
clients
和节点item
我可以输出,但是如何在节点client
之前添加节点id
和属性name
、items
以及子节点item
?
这是 PHP 函数,我想我需要进行更改,但没有成功:
public static function &createXML($node_name, $arr=array()) {
$xml = self::getXMLRoot();
$xml->appendChild(self::convert($node_name, $arr));
self::$xml = null; // clear the xml node in the class for 2nd time use.
return $xml;
}
我已经尝试过了,但没用...
public static function &createXML($node_name, $arr=array()) {
$xml = self::getXMLRoot();
$clientname='client';
$client = $xml->createElement($clientname);
$xml->appendChild(self::convert($node_name, $arr));
self::$xml = null; // clear the xml node in the class for 2nd time use.
return $xml;
}
如何在项目循环之前添加此节点和属性?
非常感谢!
好吧,经过一番摸索之后我明白了......
我只需要编辑这个:
public static function &createXML($node_name, $arr=array()) {
$xml = self::getXMLRoot();
$clients = $xml->createElement("clients");
$xml->appendChild($clients);
$client = $xml->createElement("client");
$clients->appendChild($client);
$id = $xml->createElement('id', 'myid');
$client->appendChild($id);
$name = $xml->createElement('name', 'myname');
$client->appendChild($name);
$client->appendChild(self::convert($node_name, $arr));
self::$xml = null; // clear the xml node in the class for 2nd time use.
return $xml;
}