2009-06-10 51 views
0

有更强的参考吗?simplexml无法像这样解析xml吗?

<?xml version="1.0" encoding="UTF-8"?> 
<rss xmlns:nutch="http://www.nutch.org/opensearchrss/1.0/" xmlns 
:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" version="2.0"> 

    <channel> 

     <title>Nutch: "php Developers" notdirectory:1 </title> 

     <description>Nutch search results for query: "php Developers" notdirectory:1 </description> 

     <opensearch:totalResults>2</opensearch:totalResults> 
     <opensearch:startIndex>0</opensearch:startIndex> 
     <opensearch:results>2</opensearch:results> 
     <opensearch:itemsPerPage>10</opensearch:itemsPerPage> 
     <item> 
      <title/> 
     </item> 
     <item> 
      <title/> 
     </item> 
    </channel> 
</rss> 
+0

当你无法指定失败的方式时,总是一个好习惯。你有错误吗?错误信息是什么?你是否得到了与你预期不同的结果?那么你期望的是什么?你得到了什么?等。 正如你已经得到的两个答案所指出的,你的文档没有任何错误,除了在命名空间声明中间的换行符,如果你改正了文档的格式,否则它不会被修改,这意味着它是不是XML。 – 2009-06-10 08:36:55

回答

3

这不是一个有效的XML文件。

根据 指定的XML名称空间规范,不允许使用空前缀。

命名空间前缀':'未定义。

一次我清理了opensearch命名空间定义(除去多余的引号和换行符)都看了好:

xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" 
0

如果这是你确切的代码,它可能有一些做的在第一行

改变它断行,这样xmlns是旁边:opensearch

<rss 
    xmlns:nutch="http://www.nutch.org/opensearchrss/1.0/" 
    xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" 
    version="2.0" 
>