【问题标题】:SimpleXMLElement Object [closed]SimpleXMLElement 对象 [关闭]
【发布时间】:2012-05-21 12:18:54
【问题描述】:

当我 print_r($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] => 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
    )
  )
)

如何解决?

【问题讨论】:

    标签: php xml simplexml


    【解决方案1】:

    不幸的是,SimpleXML 本身并不容易让您做您想做的事。幸运的是,DOM 确实(FIXED):

    // 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");
    

    【讨论】:

    • 不工作,行有问题:$dom->documentElement->appendChild(dom_import_simplexml($element));
    • @ariel 你遇到了什么错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多