作者CMJ0121 (请多指教!!)
看板PHP
标题[请益] 在 xml中加入一个新的 tag
时间Sat Apr 30 11:00:37 2011
这是我的function
/* ------------------------ */
function insertXML($CLOUD)
{
$url = "../pool.xml";
$xml = new DOMDocument();
$xml->load($url);
/* insert cloud */
$clouds = $xml->getElementsByTagName("cloud");
foreach( $clouds as $cloud )
if( $cloud->attributes->item(0)->nodeValue == $CLOUD) {
$xml->save($url);
return ;
}
$node = $xml->createElement("cloud");
$node->setAttribute('id', $CLOUD);
$xml->appendChild($node);
$xml->save($url);
}
/* -------------------------- */
我的想法是想要在一个已经存在的xml档中
判断是否存在某个Tag (利用其中的属性 id来判断)
但是却得不到我想要的结果
不管我执行多少次
他只会存最新的 1~2次 = =?
想请问一下我的code哪边有错嘛??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.91.77
1F:→ mesak:先提供你的 XML 04/30 11:30
/* --- pool.xml --- */
<?xml version="1.0"?>
<cloud id="D">
...
</cloud>
<cloud id="B">
...
</cloud>
/* ----------------- */
我本来是预计给一个空的xml档 然後让DOMDocument去决定
要不要加入新的Tag之类
因为目标是需要处理大的树状图结构
应该会长成这样
<?xml version="1.0"?>
<cloud id="A">
<cluster id="a">
<server>IBM</server>
<server>HP</server>
</cluster>
<cluster id="ba">
<server>IBM</server>
<server>HP</server>
</cluster>
</cloud>
<cloud id="B">
<cluster id="a">
<server>IBM</server>
<server>HP</server>
</cluster>
</cloud>
※ 编辑: CMJ0121 来自: 140.114.91.77 (04/30 12:20)