我需要将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