Php SimpleXMLElement对象
当我打印($nodes)时代码>我得到:Php SimpleXMLElement对象,php,xml,simplexml,Php,Xml,Simplexml,当我打印($nodes)时我得到: Array ( [0] => SimpleXMLElement Object ( [kategoria_6] => 1 [opis_6] => 1 [img] => slides/slide0.jpg ) [1] => SimpleXMLElement Object ( [kategoria_6] => 2 [opis_6] => 2 [img] =>
Array (
[0] => SimpleXMLElement Object (
[kategoria_6] => 1
[opis_6] => 1
[img] => slides/slide0.jpg
)
[1] => SimpleXMLElement Object (
[kategoria_6] => 2
[opis_6] => 2
[img] => slides/slide1.jpg
)
[2] => SimpleXMLElement Object (
[kategoria_6] => 3
[opis_6] => 3
[img] => slides/slide4.jpg
)
[3] => SimpleXMLElement Object (
[kategoria_6] => 4
[opis_6] => 4
[img] => slides/slide3.jpg
)
[4] => SimpleXMLElement Object (
[kategoria_6] => 7
[opis_6] => 7
[img] => slides/slide2.jpg
)
)
现在在这种情况下,我不能这样做:
$nodes->asXML("c:\\aaa.xml");
因为这是一个数组,我可以执行f.ex:
$nodes[1]->asXML("c:\\aaa.xml");
但我只得到一个元素。我需要获取所有阵列,或者最好将其更改为:
SimpleXMLElement Object (
[item] => Array (
[0] => SimpleXMLElement Object (
[kategoria_6] => 1
[opis_6] => 1
[img] => slides/slide0.jpg
)
[1] => SimpleXMLElement Object (
[kategoria_6] => 2
[opis_6] => 2
[img] => slides/slide1.jpg
)
[2] => SimpleXMLElement Object (
[kategoria_6] => 3
[opis_6] => 3
[img] => slides/slide4.jpg
)
[3] => SimpleXMLElement Object (
[kategoria_6] => 4
[opis_6] => 4
[img] => slides/slide3.jpg
)
[4] => SimpleXMLElement Object (
[kategoria_6] => 7
[opis_6] => 7
[img] => slides/slide2.jpg
)
)
)
如何解决这个问题?不幸的是,SimpleXML本身并不容易让您做您想做的事情。幸运的是,(修复了):
不工作,行中出现错误:$dom->documentElement->appendChild(dom\u import\u simplexml($element))@艾瑞尔,你犯了什么错误?
// Create a new DOMDocument
$dom = new DOMDocument('1.0', 'utf-8');
// Create the DocumentElement
$documentElement = $dom->appendChild($dom->createElement('objects'));
// Loop the SimpleXML elements and import them into DOM
foreach ($val as $element) {
$documentElement->appendChild($dom->importNode(dom_import_simplexml($element), TRUE));
}
// Save to file
$dom->save("c:\\aaa.xml");