2013-04-23 4 views
1

XML/ASP.net VB 초보자는 재미있는 데서 건초 더미에서 바늘을 찾을 수 없습니다.단순히 x32를 화면에 덤프하십시오.

그냥 XML을 화면에 덤프하고 싶습니다. 로드 된 사이트는 노드를 반복하는 방법을 알려주며 직접 경로를 지정합니다. 나는 단지 전체를 선별하기를 원해.

Dim doc As New XmlDocument 
doc.Load("remote.xml") 

Dim writer as XmlTextWriter = new XmlTextWriter("debug.xml",nothing) 
writer.Formatting = Formatting.Indented 
doc.Save(writer) 

파일로 가져 오는 스털링 작업이 있지만 화면에 표시하려고합니다. doc.print (작가) .....

도와주세요.

+0

당신은 문자열 표현을 얻기 위해 XML과 ToString()를로드하여 XDocument를 사용하고 그 덤프 수 있습니다 화면. –

+0

XML 파일을 읽거나 구문 분석하는 방법을 묻지 않고 웹 페이지에 큰 텍스트 블록을 표시하는 방법을 묻습니다. 그게 맞습니까? –

+0

예. 나는 그것을 분석하고 싶지 않다. 나는 단지 그것을보고 싶다. – bendecko

답변

2

doc의 innerXml로 시도해보십시오. 표시되도록 HtmlEncode해야합니다. 문자 그대로의 컨트롤을 id = 'ltXml'과 같이 쓰고 다음과 같이 입력하십시오 :

Dim doc As New XmlDocument() 
doc.Load(Server.MapPath("~/remote.xml")) 

ltXml.Text = Server.HtmlEncode(doc.InnerXml) 

OP별로 코멘트 당 편집하십시오.

클래스의 함수에서 Xml 문자열을 반환하도록하십시오. 내가 대신 기존의 현대 XDocument classXmlDocument 사용되지 않는 사용하는 것이 좋습니다

ltXml.Text = [MyClass].getXml() 
+0

이 모양이 좋습니다. 그러나 내 코드는 클래스에 있으며 범위 오류가 발생합니다. 'ltXml'이름이 선언되지 않았습니다. 수업을 통해 웹 페이지를 보는 방법은 무엇입니까? – bendecko

0

:

Private Class [MyClass] 
     Public Shared Function getXml() As String 
     Dim doc As New XmlDocument() 
     doc.Load("somefile.xml") 

     Return HttpContext.Current.Server.HtmlEncode(doc.InnerXml) 
    End Function 
End Class 

은 다음 웹 페이지의 뒤에 영문 코드에서 클래스 함수를 호출합니다.

XDocument.ToString은 이미 당신이 할 필요가되면, XML의 잘 포맷 된 버전을 반환

Dim doc As XDocument = XDocument.Load("remote.xml") 
Dim formatted As String = doc.ToString() 
+0

흥미로운 것 같습니다. IMPORT 선언은 무엇이 필요합니까? % <% @ Page Language = "VB"Debug = "true"%>' <% @ 가져 오기 네임 스페이스 = "System.Data"%>' <% @ Import 네임 스페이스 = "System.Xml.Linq "%>' '<% @ 가져 오기 네임 스페이스 ="System.Xml.XLinq "%>' 'XDocument'유형이 정의되지 않았습니다. – bendecko

+0

@bendecko :'System.Xml.Linq'은 괜찮습니다.'System.Xml.Linq.dll'에 대한 참조를 프로젝트에 추가해야합니다! – Heinzi

+0

@bendecko : 일반적인 조언으로 : 이러한 정보는 [클래스의 MSDN 페이지] (http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx)에서 찾을 수 있습니다. : ** ** 네임 스페이스 : **는 가져 오기 선언을 정의하고, ** Assembly : **는 필요한 참조를 알려줍니다. – Heinzi

관련 문제