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

189

Chương 5: XML

Mục 5.10 đã giới thiệu tiện ích dòng lệnh xsd.exe, tiện ích này có thể được sử dụng để tạo
XML Schema dựa trên định nghĩa lớp. Quá trình ngược lại (tạo mã lệnh C# dựa trên một tài
liệu XML Schema) cũng có thể xảy ra. Việc này hữu ích khi bạn muốn ghi một định dạng
XML nào đó, nhưng lại không muốn tạo tài liệu này bằng cách ghi từng nút một với lớp

XmlDocument

hay

XmlTextWriter

. Thay vào đó, bằng cách sử dụng xsd.exe, bạn có thể tạo ra

một tập đầy đủ các đối tượng .NET. Kế đó, bạn có thể tuần tự hóa các đối tượng này thành
biểu diễn XML bằng

XmlSerializer

, như được mô tả trong mục 5.9.

Để tạo mã lệnh từ một XML Schema, bạn chỉ cần cung cấp tên file Schema và thêm đối số

/c

để cho biết bạn muốn tạo ra lớp. Ví dụ, xét XML Schema đã được trình bày trong mục 5.8.
Bạn có thể tạo mã lệnh C# từ Schema này với dòng lệnh sau:

xsd ProductCatalog.xsd /c

Lệnh này sẽ tạo ra một file (ProductCatalog.cs) gồm hai lớp:

Product

productCalalog

. Hai

lớp này tương tự với hai lớp đã được tạo trong mục 5.9.

12.

12.

Th c hi n phép bi n đ i XSL

ự ệ

ế ổ

Th c hi n phép bi n đ i XSL

ự ệ

ế ổ

Bạn cần biến đổi một tài liệu XML thành một tài liệu khác bằng XSLT stylesheet.

Sử dụng lớp

System.Xml.Xsl.XslTransform

. Nạp XSLT stylesheet bằng phương

thức

XslTransform.Load

, và tạo tài liệu kết xuất bằng phương thức

Transform

(cần

cung cấp tài liệu nguồn).

XSLT (hay XSL Transforms) là một ngôn ngữ dựa-trên-XML, được thiết kế để biến đổi một tài
liệu XML thành một tài liệu khác. XSLT có thể được sử dụng để tạo một tài liệu XML mới với
cùng dữ liệu nhưng được sắp xếp theo một cấu trúc khác hoặc để chọn một tập con dữ liệu
trong một tài liệu. Nó cũng có thể được sử dụng để tạo một kiểu tài liệu có cấu trúc khác.
XSLT thường được sử dụng theo cách này để định dạng một tài liệu XML thành một trang
HTML.
XSLT là một ngôn ngữ đa năng, và việc tạo XSL Transforms vượt quá phạm vi quyển sách
này. Tuy nhiên, bạn có thể học cách tạo các tài liệu XSLT đơn giản bằng cách xem một ví dụ
cơ bản. Mục này sẽ biến đổi tài liệu orders.xml (đã được trình bày trong mục 5.6) thành một
tài liệu HTML và rồi hiển thị kết quả. Để thực hiện phép biến đổi này, bạn sẽ cần XSLT
stylesheet
như sau:

<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0" >

<xsl:template match="Order">

<html><body><p>

Order <b><xsl:value-of select="Client/@id"/></b>

for <xsl:value-of select="Client/Name"/></p>

<table border="1">

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.