0

1. google.com に関する Alexa API の応答: http://pastebin.com/C5yjSjCf - つまり、「ContactInfo」「Rank by Country」と呼ばれる 12 の単純なテーブルからの 1 つの行を表しています。

もう 1 つの例 (facebook.com) http://pastebin.com/mP813jYS

2.スキーム/データ型情報: http://awis.amazonaws.com/AWSAlexa/AWSAlexa.xsd

xqilla で基本的な xquery を実行できます

クエリ.txt:

名前空間 aws="http://alexa.com" を宣言します。

/aws:UrlInfoResponse/aws:Response/aws:UrlInfoResult/aws:Alexa/aws:ContentData/aws:DataUrl

xqilla -i alexa.xml query.txt
Error parsing resource: file:///var/www/google  Error message: invalid content after root element's end tag [err:FODC0002]

xqilla -i google.xml query.txt
Error parsing resource: file:///var/www/Error message: invalid content after root element's end tag [err:FODC0002]

alexa.xml (実際に照会したいファイル) は、これらの API 応答の多くが次々と発生します。

また、最初の 3 行と最後の 1 行を google.xml から削除し、検索して aws:' と先頭のスペースを jsut に置き換えて、よりシンプルにしましたが、それでも同じエラー :(

4

1 に答える 1

1

あなたが言った...

alexa.xml (実際に照会したいファイル) は、これらの API 応答の多くが次々と発生します。

これはどのように聞こえますか?あなたのファイルはこのようなものですか?

<aws:UrlInfoResponse xmlns:aws="http://alexa.com">
    <!--...-->    
</aws:UrlInfoResponse>
<aws:UrlInfoResponse xmlns:aws="http://alexa.com">
    <!--...-->    
</aws:UrlInfoResponse>

それはまたあなたのエラーを説明するでしょう。ルート要素は 1 つしか持てません。すべてを別の要素でラップする必要があります。

例:

<responses>
    <aws:UrlInfoResponse xmlns:aws="http://alexa.com">
        <!--...-->    
    </aws:UrlInfoResponse>
    <aws:UrlInfoResponse xmlns:aws="http://alexa.com">
        <!--...-->    
    </aws:UrlInfoResponse>    
</responses>

XPath:

/responses/aws:UrlInfoResponse/aws:Response/aws:UrlInfoResult/aws:Alexa/aws:ContentData/aws:DataUrl
于 2014-04-08T18:53:48.727 に答える