2012-04-11 4 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 이것은 멍청한 질문 일지 모르지만 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

세 가지 옵션이 있습니다. 먼저,'Accept' 헤더를'text/xml'으로 설정할 수 있습니다. 이것은'XmlReader'로는 조금 까다 롭습니다. 둘째, 사용중인 API의 기능이며 표준화되지 않은 매개 변수를 추가 할 수 있습니다. 셋째, [DataContractJsonSerializer] (http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx) 또는 기타 제 3 자 웹 서비스를 사용하여 웹 서비스에서 반환 된 JSON을 구문 분석 할 수 있습니다. (이 세 가지 중에서 가장 빠른 접근 방식이 될 것입니다). – Gene

+0

Json은 나를 위해 조금 어려워 보인다. (나는 두 번째 옵션 인 매개 변수로 가고 있다고 생각하지만 확실히 세 번째 옵션을 살펴볼 예정이다. –

관련 문제