Giới thiệu
Bạn có một tài liệu XML và bạn cần chuyển đổi nó thành định dạng tệp dễ đọc hơn. Ví dụ: bạn có dữ liệu nhân sự được lưu trữ dưới dạng tài liệu XML và bạn cần hiển thị nó trên trang web hoặc trong tệp văn bản.
Dung dịch
Giải pháp cho điều này là sử dụng bảng kiểu XSLT để chuyển đổi XML thành một định dạng khác bằng lớp XslTransform
. Trong mã ví dụ, chúng tôi đang chuyển đổi một số dữ liệu nhân sự từ một doanh nghiệp hư cấu được lưu trữ trong PLANNELENT.XML. Đầu tiên, chúng tôi tải bảng kiểu để tạo đầu ra HTML. Sau đó, chúng tôi thực hiện chuyển đổi thành HTML thông qua XSLT bằng cách sử dụng bảng kiểu PersonalHTML.xSL. Sau đó, chúng tôi chuyển đổi dữ liệu thành định dạng phân loại bằng dấu phẩy bằng cách sử dụng bảng kiểu PersonalCsv.xsl:
public static void TransformXML[ ] { XmlUrlResolver resolver = new XmlUrlResolver[ ]; resolver.Credentials = System.Net.CredentialCache.DefaultCredentials; XslTransform transform = new XslTransform[ ]; transform.Load[@"..\PersonnelHTML.xsl",resolver]; transform.Transform[@"..\Personnel.xml",@"..\Personnel.html",resolver]; transform.Load[@"..\PersonnelCSV.xsl",resolver]; transform.Transform[@"..\Personnel.xml", @"..\Personnel.csv",resolver]; }
Tệp nhân sự.xml chứa các mục sau:
="1.0"="utf-8"
Biểu đồ personnelHTML.xSL trông như thế này:
="1.0"="UTF-8" Employee Name Employee Title Years with Company
Đây là nguồn HTML:
Employee Name Employee Title Years with Company Shahab Customer Service 1 Noosha Manager 12 Navid Salesman 3 Mehrdad CEO 27
Đầu ra phân loại dấu phẩy được tạo bằng cách sử dụng personnelCSV.xsl và personal.xml; Biểu đồ được hiển thị ở đây:
="1.0"="UTF-8" , ,
Đầu ra từ bảng kiểu PersonalCsv.xsl được hiển thị ở đây:
Shahab,Customer Service,1 Noosha,Manager,12 Navid,Salesman,3 Mehrdad,CEO,27
Lịch sử
- Ngày 22 tháng 10 năm 2005: Bài viết ban đầu
Tôi không sử dụng Microsoft.net và Crystal Report nữa. Tôi đã chuyển từ khoa học máy tính sang khoa học vũ trụ vào năm 2008. Hiện tại tôi là nhà nghiên cứu về vật lý plasma không gian ở Thụy Điển. Tôi xin lỗi nếu tôi không thể trả lời email/tin nhắn của bạn nữa. Điều này là do tôi không sử dụng Windows và bất kỳ sản phẩm nào của Microsoft.
I moved from computer science to space science in 2008. Currently I'm a researcher in space plasma physics in Sweden. I apologize
if I cannot reply your emails/messages anymore. This is because I am not using Windows and any of the Microsoft products.