2017-02-22 20 views
0

レーダーシステムの気象データを含むXMLファイルをAir Canadaのウェブサイトから抽出しようとしています。 XMLファイルを含むURLはhereXMLコンテンツが認識されない

です。私は、XMLパッケージのxmlParse関数を使用してURLに読み込むのと同じくらい簡単だと思っていました。

library(XML) 

url = "https://www.aircanada.com/content/dam/aircanada/portal/data/weather/AirCanada.xml" 
xmlParse(url) 

はしかし、私は次のエラーを取得する:

Error: XML content does not seem to be XML

これは明らかに、XMLファイルであるので、私は、なぜ私はこのエラーを取得していますかわかりません。どんな助けや方向性も高く評価されます。

+2

... xmlParseはURLから情報を取得しません。ページではなく、文字列 "https://www.aircanada.com/content/dam/aircanada/portal/data/weather/AirCanada.xml"の解析を依頼しています。自動的なスクリプト、ロボット、クロール、スクリーンスクレーパー、ウェブを含む、自動、電子、または技術的なデバイスを介して、あなたは... isURL = TRUE' – Jean

+1

_ "あなたは...アクセスまたは使用することはできません限定されるものではないが、「ボット」、...、クモ、マクロプログラム、またはその他のプログラム、ソフトウェア、システム、アルゴリズム、方法論または技術...同一または類似の機能を実行するもの。データ処理、情報へのアクセス、抽出、コピー、配布、集約または取得、情報の入力または保管、ウェブサイトの内容または内容の操作または監視、 – hrbrmstr

答えて

0

このURLでXMLファイルをチェックすると、無効な文字がいくつか含まれていることがわかります。
これはxsltprocのエラーログです:this SO answerからの溶液でAirCanada.xmlファイルサニタイジング

encoding error : input conversion failed due to input error, bytes 0x8F 0x6E 0x65 0x73 
encoding error : input conversion failed due to input error, bytes 0x8F 0x6E 0x65 0x73 
I/O error : encoder error 
AirCanada.xml:1059: parser error : AttValue: ' expected 
AirCanada.xml:1059: parser error : attributes construct error 
AirCanada.xml:1059: parser error : Couldn't find end of Start Tag SITE line 1059 
AirCanada.xml:1059: parser error : Premature end of data in tag DATAFILE line 50 
unable to parse AirCanada.xml 

は、データが使用可能になり、おそらくいくつかの損失で。

iconv -f utf-8 -t utf-8 -c AirCanada.xml > AirCanadaSanitized.xml 

次に、AirCanadaSanitized.xmlをXSLTプロセッサで処理することができます。

関連する問題