2012-04-11 21 views
3

XMLリーダーがありますが、URL(外部ソース)からXMLを読み込もうとしているときにエラーが発生します。C#URLからXMLを読み込む際のエラー

これは私がATMを持っているコードです:

XmlReader xmlReader = XmlReader.Create("http://dl.bukkit.org/api/1.0/downloads/projects/craftbukkit/view/build-1330/"); 
     while (xmlReader.Read()) 
     { 

     } 

非常に簡単なコードが、それは言うエラーを返します。

データをルートレベルでは無効です。 1行目、1位。


XMLは編集できません。私のものではないからです。

ありがとうございます!

+0

ウェブブラウザからXML文書にアクセスすると、どのように見えますか? – Filburt

+4

これはXMLではなく、Jsonです。 – Phil

+0

@Philこれはnoobの質問かもしれませんが、C#でJsonを読むのは難しいですか?私はまだ少し新しいです...編集:私はWebClient経由でファイルを読むとき、私はフォーマットされていないファイルを取得します。 –

答えて

4

Fiddlerを使用してサーバーから返された応答を分析すると、XMLではなくJSONが取得されます。 URLにパラメータを追加してXMLを取得することができます。

http://dl.bukkit.org/api/1.0/downloads/projects/craftbukkit/view/build-1330/?format=xml 
+1

これは、ページをXMLに変換するのでしょうか?それは仕事をするようです:)。 –

+0

ここには3つのオプションがあります。まず、 'Accept'ヘッダーを' text/xml'に設定することができます。これは 'XmlReader'でややこしいと思われます。次に、使用しているAPIの機能で、標準化されていないパラメータを追加できます。第3に、[DataContractJsonSerializer](http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx)またはその他のサードパーティ製のWebサービスを使用してWebサービスから返されたJSONを解析できます。 (これは3つのうち最も速いアプローチです)。 – Gene

+0

Jsonは私にとって少し難しいようです:(私は2番目のオプションのパラメータと一緒に行くと思いますが、3番目のオプションを確かめてみましょう、ありがとう! –

関連する問題