2009-06-10 11 views
0

Gibt es eine stärkere Referenz?simplexml konnte xml nicht wie folgt parsen?

<?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

Es ist immer eine gute Übung, wenn etwas fehlschlägt, um anzugeben, wie es fehlgeschlagen ist. Haben Sie einen Fehler erhalten? Was war die Fehlermeldung? Hast du ein anderes Ergebnis als erwartet bekommen? Was hast du dann erwartet und was hast du bekommen? Usw. Wie Sie durch die zwei Antworten festgestellt haben, hat Ihr Dokument nichts falsches außer dem Zeilenumbruch in der Namespace-Deklaration, wenn Sie korrigieren, dass das Dokument gut formatiert ist, sonst ist es nicht korrekt, das heißt es ist nicht XML. –

Antwort

3

Das ist keine gültige XML-Datei.

Leeres Präfix ist gemäß zu XML-Namespace-Spezifikation nicht zulässig.

Namensraum-Präfix ':' ist nicht definiert.

Sobald ich die opensearch Namespace-Definition gereinigt (die überschüssigen Anführungszeichen und Zeilenumbrüche entfernt) alles gut ausgesehen:

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

Wenn das Ihr genauer Code, könnte es etwas mit dem zu tun, Zeilenumbrüche in der ersten Zeile

ändern es so, dass xmlns befindet sich direkt neben :opensearch

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