我正在從Internet下載並解析許多XML文件。它們都有不同的編碼,在第一行描述。C#:事先獲取WebClient的網站編碼
<?xml version="1.0" encoding="windows-1251"?>
<?xml version="1.0" encoding="UTF-8"?>
等等...
我需要設置正確WebClient.Encoding參數,以獲得正確編碼的文本。但是如果不預先下載文件並閱讀第一行,我無法做到這一點。
可以嗎?
謝謝
我正在從Internet下載並解析許多XML文件。它們都有不同的編碼,在第一行描述。C#:事先獲取WebClient的網站編碼
<?xml version="1.0" encoding="windows-1251"?>
<?xml version="1.0" encoding="UTF-8"?>
等等...
我需要設置正確WebClient.Encoding參數,以獲得正確編碼的文本。但是如果不預先下載文件並閱讀第一行,我無法做到這一點。
可以嗎?
謝謝
現在只需使用這一點,它應該處理的一切擁有自己:
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
XDocument.Load(myHttpWebResponse.GetResponseStream());
http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx
你並不需要設置什麼 - 你不需要完全處理編碼。只需獲取二進制數據並獲取XML解析器來處理它。或者,如果您要將文件存儲在磁盤上,只需將二進制數據直接轉儲到磁盤上即可。 你根本不需要擔心編碼。
它假定它已被正確設置爲每個文件。 – Oded
但是不會下載整個文件? – Alex
@Alex它將下載文件,然後您可以將正確的編碼應用於響應流。一個文件下載。 – Skomski