2009-12-01 4 views
0

솔루션을 찾는 데 문제가 있지만 간단 할 수도 있습니다.브라우저에 XML 코드 표시

폴더에서 .xml 파일을 볼 때 두 번 클릭하면 기본 브라우저에 코드 내용이 표시됩니다.

나는 XML의 전체 경로를 가지고 있으며 브라우저에서 XML로 리디렉션되는 aspx (C# 또는 vb.net) 링크를 만들고 싶습니다.

response.redirect("<path>") 

---이로 리디렉션

를 업데이트 : "여기"마지막에 /를 사용하여 로컬 호스트 포트가있다 (이 찾는를 통해 내 마우스를 넣어

http://img37.imageshack.us/img37/7227/89684913.jpg

localhost의 경로)

그래서 나는이 질문을했다. 그것은 다른 접근 방식이어야한다.

+0

무엇을 의미합니까? – shahkalpesh

+0

URL을 브라우저에 직접 입력하여 XML 파일에 연결할 수 있습니까? 또는 제한적이며 최종 사용자가 액세스 할 수없는 폴더 (xml 파일 포함)입니까? – shahkalpesh

+0

그것은 액세스 할 수있어, 브라우저를 통해 도달 할 때 오른쪽 경로 (내가 리디렉션을 제공 할 때와 동일) – Marcelo

답변

1

, 그것은 쉬운 것입니다 : 그것은 완벽하게 작동

Process.Start(<path>) 

은, 저를 도와 사람 너희들 모두에게 감사합니다!

0

당신은 루트 노드에서 InnerXml을 얻고 페이지에 &gt;&lt;><을 대체 할 수 있습니다. 당신이 문자열로 파일의 내용을 읽을되면

Response.Write(doc.InnerXml.Replace("<", "&lt;").Replace(">", "&gt;")); 
+0

여기에 있습니다. 실제로 실제로 그 이름이 지정되고 색이 지정되며 "축소"및 "확장"기능이 필요합니다. 실제로 브라우저가 그것을 읽길 원할뿐 .. (이미 다른 방식으로) 콘텐츠를 표시하지 말아야한다. – Marcelo

0

, 당신은 "사전"태그가 만들 것이

<pre> 
<%= myXmlString.Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;") %> 
</pre> 

같은 작업을 수행 할 수 있습니다와 간단한

뭔가 시작 브라우저는 파일의 레이아웃을 유지합니다. 예, 정규 표현식으로 좀 더 정교한 작업을 할 수 있지만, 때로는 단순한 것이 전부입니다 .-

+0

나는 실제로 그것을 식별하고 색칠하며 "붕괴"와 "확장"기능을 원한다. 나는 실제로 브라우저가 읽기를 원한다. 그것은 단지 색칠 및 축소/확장에 대한 귀하의 의견을 최대한 – Marcelo

0

XML 문서의 구조와 공백을 유지하려면 LINQ의 XDocument의 출력을 사용해보십시오 . 이 코드가

  string xmlFromFile = string.Empty; 

      XmlTextReader reader = null; 
      XDocument xmlDoc = null; 

      try 
      { 
       reader = new XmlTextReader(XmlFile); 
       xmlDoc = XDocument.Load(reader); 
       reader.Close(); 
      } 
      catch 
      { 
       if(reader != null) 
        reader.Close(); 
      } 

      lblXMLoutput.Text = String.Format("<pre>{0}</pre>", 
       xmlDoc.ToString().Replace("<", "&lt;").Replace(">", "&gt;")); 

      this.xmlOutput.InnerHtml = xmlDoc.ToString(); 

와 형태 :이 예에서는 XML 출력 방법,

public string XmlFile 
{ 
    get 
    { 
     return Server.MapPath("output.xml"); 
    } 
} 

다음 파일에서로드하는 방법을 보여줍니다

<asp:Label ID="lblXMLoutput" runat="server" /> 
<div id="xmlOutput" runat="server" style="display:none;"></div> 

공지 사항이를 xmlOutput div는 필요하지 않습니다. 그것은 단지 거기에있어 모든 XML이 올바르게 출력되는지 확인할 수 있습니다. 내가 질문에 말했듯이

+0

내용을 표시하지, 당신은 manoli의 C# 형식 (http://www.manoli.net/csharpformat/)을 사용할 수 있습니다 그는 코드를 제공하고 XML 채색을 지원합니다. 구현하기가 너무 어렵지 않아야합니다. 붕괴/확장은 재미 있어야합니다. –

+0

음, 고맙습니다.하지만 FILE.DOUBLECLICK ("XMLFILE.XML") hahah, joking ..와 같은 것을 찾고있었습니다. 시뮬레이션하고 싶지 않습니다. 또한 배우고 싶습니다. 언젠가는 다른 것들 (예 : mp3 나 mp4와 같이 filefox와 chrome이 그것을 열 수있는 방법이 있습니다) 또는 내가 필요할지도 모르는 다른 것들과 함께 사용합니다. 실제로 코드를 표시 할 필요가 없습니다 (그러나 그것이 작동한다면 나는 그것이 유용 할 것이기 때문에 실제로 릴리스에 추가 될 것임을 설명합니다.) 그것은 학습에 관한 것입니다. – Marcelo

1
Dim xmlDoc As New XmlDocument 
    xmlDoc.Load(Server.MapPath("QuinnDirectRequest.xml")) 
    Response.Clear() 
    Response.AddHeader("Content-Disposition", "inline; filename=file.xml") 

    If Request.QueryString("type") = "s" Then 
     Response.ContentType = "text/xml" 
     Response.Write(xmlDoc.InnerXml) 
    Else 
     Response.ContentType = "application/xml" 
     Response.Write(xmlDoc.InnerXml) 
    End If 

    Response.Flush() 
    Response.End() 
+0

plz이 예를 확인하십시오. –