2012-02-24 7 views
0

다른 서버의 XML 콘텐츠를 가져 와서 파싱하는 C# ASP.NET 웹 사이트를 디버깅하고 있습니다.UrlEncode가 URL에 현재 작업 디렉터리를 추가합니다.

내 문제점 : 웹 사이트를 로컬로 실행하고 있기 때문에 URL에서 XML에 액세스 할 수 없습니다.

내가 전화를 갈 때 :

XmlDocument xdoc = new XmlDocument(); 
xdoc.load(Server.UrlEncode("http://www.website.com/test.aspx")); 

그것은이 될 수 있도록 URL의 현재 작업 디렉토리 뿅을 배치 ...

xdoc.load("C:/users/Visual_Studio/http://www.website.com/test.aspx"); 

을이 분명이 XML을하지 않습니다 의미 파일 내용.

어떻게 이런 일이 발생하지 않게 할 수 있습니까? Url.PathEncode() 또는 다른 것을 사용하겠습니까? 내 컴퓨터에서 로컬로 내 프로젝트를 실행 중이거나 디버깅 중입니다. 서버에서 실행되지 않습니다.

+0

나는 'UrlEncode'에서 그 행동을 본 적이 없습니다. 그 원인이 될 수있는 도우미 방법이 있습니까? –

+0

(잠재적으로 위험한)'QueryStrings'을 가지고 있지 않으면 왜'URLEncode'를 사용하고 싶습니까? – Akhil

+0

이 질문을보세요. http://stackoverflow.com/questions/124932/xmldocument-loadurl-through-a-proxy –

답변

1

문제는 xdoc.Load 메소드가 URL이 "http : //"또는 다른 프로토콜로 시작될 것으로 예상한다는 것입니다. 제공하는 URL로 인코딩 된 URL 형식은로드 함수에 파일 이름으로 나타납니다.

프로덕션 환경에서 작동하는 경우 놀랄 것입니다. 이 작업을하려면 URL을 Load 함수에 전달하면됩니다. URL에 추가해야하는 인수가 있으면 URL 인코딩이 필요할 수 있습니다.

관련 문제