2012-02-20 106 views
0

我想解析一个位于另一个域的xml文档。 我想用php来做这个。 这可能吗?从另一个域用php解析xml

我已经尝试了simpleXML,但它似乎不工作。

+5

是,这是可能的。什么不工作?你得到什么错误?你能显示一些代码吗? – 2012-02-20 20:17:04

+1

你的问题的答案是“是”,但我的印象是,这不是你要找的。你有什么尝试? – salathe 2012-02-20 20:18:44

+0

以下是我已经tryed – user367864 2012-02-20 20:32:00

回答

3

我们首先要做的是:http://www.stevymahy.com/xml/test.xml的XML格式不正确。在修复之前,您将无法解析此文档。

怎么了,现在有

 
    <?xml version="1.0" encoding="utf-8"?> 
    <mahy> 
    <!-- Diaporama --> 
     <diaporama duree="4"> 
     <photo fichier="/admin/uploads/stevy01_001.jpg"></photo> 
     <photo fichier="/admin/uploads/stevy05_001.jpg"></photo> 
     <photo fichier="/admin/uploads/stevy06_001.jpg"></photo> 
     <photo fichier="/admin/uploads/DSC_8133-Modifier.jpg"></photo> 
     <photo fichier="/admin/uploads/appuyevelo.jpg"></photo> 
     <photo fichier="/admin/uploads/atriumplus.jpg"></photo> 
     <photo fichier="/admin/uploads/balancoirine.jpg"></photo> 
    </diaporama> 

    <!-- Biographie --> 
    <bio textetaille="16" ><![CDATA[jhkjdhgkjdhgjksdghkjshgjkshdgjkhsdgjksdhgjksdhgkj]]></bio> 

它仅仅落后过...编辑:我已经发布了完整的XML。它不会消失(再?)。然而,迪奥图和生物元素必须包含在共同的根节点中。所以也许在包裹<root>

一切后,你得到固定

http://www.php.net/manual/en/function.file-get-contents.php http://www.php.net/manual/en/simplexml.examples-basic.php

 
    // Get the contents of the XML 
    $str_xml = file_get_contents('http://www.stevymahy.com/xml/test.xml'); 

    // Parse the XML 
    $obj_xml = new SimpleXMLElement($str_xml); 

    // ...do something with the parsed XML object 
+0

检查您的XML是否有效:http://validator.w3.org/check?uri=http%3A%2F%2Fwww.stevymahy.com%2Fxml%2Ftest.xml&charset=%28detect+自动%29&DOCTYPE =内嵌&组= 0 – 2012-02-21 15:05:28