我在各處查找答案,但到目前爲止我沒有回答我的問題。對於我正在創建的應用程序,我需要從Bukkit.org獲取最新的XML工件。現在,如果我手動(通過瀏覽器)保存XML工件,然後將其加載到我的程序中,它會正常工作,併爲我提供預期格式的XML文件。使用WebClient調用服務時獲取JSON而不是XML文件
但是,如果我使用WebClient訪問該文件,則會遇到問題,因爲Webclient下載的文件甚至不是XML格式。下面列出了一個測試用例。
static void manualLoad()
{
//local copy
XDocument doc = XDocument.Load("artifacts.xml");
var lol = doc.Descendants("build_number");
foreach (XElement e in lol)
{
Console.WriteLine(e.Value); //correct output
}
}
static void onlineLoad()
{
WebClient client = new WebClient();
//save to local project folder
client.DownloadFile(new Uri("http://dl.bukkit.org/api/1.0/downloads/projects/bukkit/artifacts/")
, "C:\\...\\XMLTest\\XMLTest\\bin\\Debug\\lol.xml");
XDocument doc = XDocument.Load("lol.xml"); //error thrown!
}
static void Main(string[] args)
{
manualLoad(); //works!
onlineLoad(); //throws XMLexception: Data at root level is invalid.
Console.ReadKey();
}
的XML神器我想訪問是在這裏:Bukkit.org XML Artifact
你看下載的文件?它看起來好嗎?原始編碼是什麼?你用什麼編碼下載? – Oded
下載的文件絕對不正確。原文:http://pastebin.com/TCcgyEgZ已下載:http://pastebin.com/91ssebEY – collielimabean
我已更新磁貼以符合您對下載內容的評論。隨意編輯/還原。 –