2011-04-06 6 views
0

을 읽을 때 문서 최상위 수준에서 잘못되었습니다. 이와 같은 오류가 발생합니다. XML 페이지를 표시 할 수 없습니다. 스타일 시트를 사용하여 XML 입력을 볼 수 없습니다. 오류를 수정 한 다음 새로 고침 단추를 클릭하거나 나중에 다시 시도하십시오. 버튼을 클릭 할 때 작성했습니다.XML 파일

String strUrl = "https://secure.dev.gateway.gov.uk/submission";  
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl); 
req.ContentType  = "text/xml"; 
req.Method   = "POST"; 
req.Accept   = "text/xml"; 
req.PreAuthenticate = true; 
req.Credentials  = new NetworkCredential("189", ""); 
req.UseDefaultCredentials = true; 

System.IO.Stream stream = req.GetRequestStream(); 
string strXML = GetXmlString("C:\\Documents and Settings\\com\\My Documents\\Downloads\\18march\\VatDecRequest_ValidSample v1.0.xml"); 
byte[] arrBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(strXML); 
stream.Write(arrBytes, 0, arrBytes.Length); 
stream.Close(); 
WebResponse resp = req.GetResponse(); 
Stream respStream = resp.GetResponseStream(); 
StreamReader rdr = new StreamReader(respStream, System.Text.Encoding.ASCII); 
Response.ContentType = "text/xml"; 
string strResponse = rdr.ReadToEnd(); 
XmlDocument xmldoc = new XmlDocument(); 
xmldoc.LoadXml(strResponse); 
xmldoc.Save("C:\\test9.xml"); 
+0

오류가 XML 파일 또는 스타일 시트에 있다고 생각합니다. 귀하의 질문에 그들을 포함시킬 수 있습니까? –

+0

당신은 ASCII를 읽고 쓰고 있습니다 - 이것이 항상 사실인지 확인 했습니까? UTF-8 인코딩을 사용해보십시오. ASCII를 처리하고 유니 코드가 있으면이를 처리 할 수 ​​있습니다. (줄 1의 URL은 내가 볼 수있는 한 유니 코드를 반환합니다) –

답변

2

왜 파일을 문자열로로드 한 다음 ASCII로 인코딩합니까? 바이너리 데이터를로드하고 직접 제공하지 않는 이유는 무엇입니까? (File.ReadAllBytes은 아마 당신의 친구입니다.) 나는 XML 파일이 실제로 UTF-8, 아마도 바이트 순서 표시가 ASCII로 표현 될 수없는 있는 것으로 의심

.

요청과 응답 모두 동일합니다. 가능한 경우 XML 파서를 사용하여 바이너리 스트림을 처리하고 자체 인코딩을 찾습니다.