방법: XML 웹 서버 컨트롤에서 XML 데이터 로드
업데이트: 2007년 11월
XML 데이터를 Xml 웹 서버 컨트롤로 로드하는 방법에는 세 가지가 있습니다.
DocumentSource 속성을 사용하여 외부 XML 문서에 대한 경로를 제공합니다.
Load 메서드 이벤트를 사용하여 문서를 XML 컨트롤의 Document 속성에 할당하는 방법으로 XML 문서를 XmlDocument 개체로 로드하여 컨트롤에 전달합니다.
컨트롤의 여는 태그와 닫는 태그 사이에 XML 콘텐츠를 인라인으로 포함시킵니다.
외부 XML 문서에 대한 경로를 제공하려면
Web Forms 페이지에 Xml 컨트롤을 추가합니다.
컨트롤의 DocumentSource 속성을 XML 소스 문서에 대한 경로로 설정합니다.
참고: 응용 프로그램이 실행될 때는 XML 파일을 읽을 수 있는 충분한 권한이 있는지 확인해야 합니다.
TransformSource 속성 또한 설정하는 경우가 아니면 XML 문서는 출력 스트림에 직접 작성됩니다. TransformSource는 해당 콘텐츠를 출력 스트림에 작성하기 전에 XML 문서를 변환하는 데 사용되는 유효한 XSL Transformations 문서여야 합니다. 다음 예제 코드에서는 상대 경로를 사용하여 소스 문서를 참조하는 방법을 보여 줍니다.
<body> <h3>XML Example</h3> <form runat=server> <asp:Xml id="Xml1" DocumentSource="MySource.xml" TransformSource="MyStyle.xsl" /> </form> </body>
XML 문서를 개체로 로드하여 컨트롤로 전달하려면
Web Forms 페이지에 Xml 컨트롤을 추가합니다.
코드를 추가하여 XML 소스 문서를 로드하고 소스를 컨트롤의 Document 속성에 할당합니다. 예를 들면 다음과 같습니다.
Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument() doc.Load(Server.MapPath("MySource.xml")) Dim trans As System.Xml.Xsl.XslTransform = _ New System.Xml.Xsl.XslTransform trans.Load(Server.MapPath("MyStyle.xsl")) Xml1.Document = doc Xml1.Transform = trans End Sub
private void Page_Load(object sender, System.EventArgs e) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(Server.MapPath("MySource.xml")); System.Xml.Xsl.XslTransform trans = new System.Xml.Xsl.XslTransform(); trans.Load(Server.MapPath("MyStyle.xsl")); Xml1.Document = doc; Xml1.Transform = trans; }
XML 콘텐츠를 인라인으로 포함시키려면
Web Forms 페이지에 Xml 컨트롤을 추가합니다.
<asp:Xml> 및 </asp:Xml> 태그를 찾습니다.
XML 코드를 두 태그 사이에 추가합니다. 예를 들면 다음과 같습니다.
<asp:xml TransformSource="MyStyle.xsl" runat=server> <clients> <name>Frank Miller</name> <name>Judy Lew</name> </clients> </asp:xml>