CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 408

408
Chương 10: Cơ sở dữ liệu

sẽ trả về XML với cấu trúc như sau:

<Customers CustomerID="ALFKI" CompanyName="Alfreds Futterkiste"/>

<Customers CustomerID="ANTON" CompanyName="Antonio Moreno Taquería"/>

<Customers CustomerID="GOURL" CompanyName="Gourmet Lanchonetes"/>

§

Bạn có thể thêm từ khóa

ELEMENTS

vào cuối truy vấn để định dạng kết quả theo các phần tử

lồng nhau. Ví dụ, truy vấn sau đây:

SELECT CustomerID, CompanyName FROM Customers FOR XML AUTO, ELEMENTS

sẽ trả về XML với cấu trúc như sau:

<Customers>

<CustomerID>ALFKI</CustomerID>

<CompanyName>Alfreds Futterkiste</CompanyName>

</Customers>

<Customers>

<CustomerID>ANTON</CustomerID>

<CompanyName>Antonio Moreno Taquería</CompanyName>

</Customers>

<Customers>

<CustomerID>GOURL</CustomerID>

<CompanyName>Gourmet Lanchonetes</CompanyName>

</Customers>

§

Bạn cũng có thể định dạng kết quả một cách chi tiết hơn bằng cú pháp

FOR XML

EXPLICIT

. Ví dụ, cú pháp này cho phép bạn chuyển một vài trường (field) thành

đặc tính (attribute) và các trường khác thành phần tử (element). Bạn hãy tham
khảo một quyển sách chuyên về SQL Server
để biết thêm chi tiết.

Ví dụ dưới đây trình bày cách lấy kết quả dạng XML bằng mệnh đề

FOR XML

và phương thức

ExecuteXmlReader

. Chú ý rằng, kết nối không thể được sử dụng cho bấy kỳ câu lệnh nào khác

trong khi

XmlReader

đang mở. Bạn nên xử lý kết quả càng nhanh càng tốt và phải luôn đóng

XmlReader

lại (Chương 5 có rất nhiều ví dụ trình bày cách sử dụng lớp

XmlReader

).

using System;

using System.Xml;

using System.Data;

using System.Data.SqlClient;

public class XmlQueryExample {

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.