我需要將SimpleXML
對象轉換爲DOMDocument
,才能與DOMXPath
一起使用。我需要DOMXPath,以便我可以使用它的registerPHPFunctions
方法。這可以做到嗎?將SimpleXML轉換爲DOMDocument,而不是DOMElement
With dom_import_simplexml
我收到DOMElement
而不是DOMDocument
。
我需要將SimpleXML
對象轉換爲DOMDocument
,才能與DOMXPath
一起使用。我需要DOMXPath,以便我可以使用它的registerPHPFunctions
方法。這可以做到嗎?將SimpleXML轉換爲DOMDocument,而不是DOMElement
With dom_import_simplexml
我收到DOMElement
而不是DOMDocument
。
$dom=new DOMDocument;
$dom->loadXML($sxml->asXML());
謝謝!注意:'loadXML()'方法返回一個布爾值,並將XML加載到'$ dom'。有了這個解決方案,我將失去與原始簡單xml對象的連接,對吧?所以說我稍後刪除DOME元素,這不會影響簡單的XML。 – Znarkus 2010-08-16 09:26:47
代碼已更正。您仍然可以訪問$ sxml作爲您的simplexml對象。 $ dom和$ sxml是相互獨立的。無論您在$ dom中做出什麼修改都不會影響$ sxml。如果你想要與上面的代碼相反: '$ sxml = simplexml_load_string($ dom-> saveXML());' – stillstanding 2010-08-16 09:33:38
實際上,當我用'dom_import_simplexml'進行轉換時,它保留了與簡單xml的連接。如果我刪除了一個dom節點,這個變化會回到簡單的xml。 – Znarkus 2010-08-16 09:41:56
文件聽起來像你不再做簡單的* * XML操作,所以你可能要考慮完全切換到DOM。 – Gordon 2010-08-16 09:08:48
我是,只是想說服自己這是值得的麻煩。 – Znarkus 2010-08-16 09:22:47