Programming/.NET

Microsoft SQL Server에서는 데이터를 XML로 처리할 수 있는 기능을 제공하는데 아래 글에서 쿼리를 통해 XML을 다루는 기본적인 방법을 알 수 있습니다.

 

2010/10/01 - [Programming/Microsoft SQL Server] - [SQL] For Xml을 이용해 Table을 XML형태로 조회하기

 

위 내용을 토대로 특정 Table의 내용을 XML형식으로 가져와 표시해 보고자 합니다.

 

XmlDocument xd = new XmlDocument();

using (SqlConnection conn = new SqlConnection(con))
{
    SqlCommand cmd = new SqlCommand("Select * From BOOK for xml auto, elements;", conn);
    conn.Open();

    XPathNavigator xn = xd.CreateNavigator();

    using (XmlWriter xw = xn.PrependChild()) {
        xw.WriteStartElement("books");
        using (XmlReader xr = cmd.ExecuteXmlReader()) {
            xw.WriteNode(xr, true);
        }
        xw.WriteEndElement();
    }
}

Response.ContentType = "text/xml";
xd.Save(Response.Output);

 

방법상으로는 일반적인 DB처리방식과 크게 다르지 않지만 ExecuteXmlReader 메소드를 호출함으로써 DB데이터자체를 XML형식으로 가져오며 또한 그에 맞게 XmlDocument 클래스를 사용해 각 요소를 출력하고 있습니다.

 

참고로 쿼리에서 직접 Select * From BOOK for xml auto, elements, Root('books'); 처럼 루트요소를 지정하면 코드안에서 루트요소를 지정한 WriteStartElement 메소드와 WriteEndElement메소드는 더이상 필요하지 않습니다.

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] AJAX  (0) 2017.01.24
[ASP.NET] 캐시 - 2  (0) 2017.01.17
[ASP.NET] ExecuteXmlReader  (0) 2017.01.13
[ASP.NET] SiteMapDataSource  (0) 2017.01.03
[ASP.NET] 캐시 - 1  (0) 2016.12.26
[ASP.NET] 서버 컨트롤 - 5 (포스트백처리)  (0) 2016.12.21
0 0