Thao tác XML - Đọc và ghi Streamed XML – Phần 2
Số trang: 14
Loại file: pdf
Dung lượng: 117.59 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Sử dụng lớp XmlValidatingReader Nếu bạn muốn xác nhận một tài liệu XML, bạn sẽ cần phải sử dụng lớp XmlValidatingReader. Nó chứac các khả năng giống như XmlTextReader (Cả hai đều xuất phát từ XmlReader) nhưng XmlValidatingReader có thêm thuộc tính ValidationType, thuộc tính Schemas và SchemaType.
Nội dung trích xuất từ tài liệu:
Thao tác XML - Đọc và ghi Streamed XML – Phần 2 Thao tác XMLĐọc và ghi Streamed XML – Phần 2Sử dụng lớp XmlValidatingReaderNếu bạn muốn xác nhận một tài liệu XML, bạn sẽ cần phải sử dụng lớpXmlValidatingReader. Nó chứac các khả năng giống như X mlTextReader(Cả hai đều xuất phát từ X mlReader) nhưng X mlValidatingReader có thêmthuộc tính ValidationType, thuộc tính Schemas và SchemaType.Nếu bạn gán thuộc tính ValidationType giá trị xác nhận mà bạn muốn. Giátrị hợp lệ của thuộc tính này được liệt kê trong bảng sau:Property DescriptionValue Nếu một DTD được khai báo trong một khai báoAuto , điều này cho phép DTD sẽ được load vàProperty DescriptionValue xử lí. Giá trị mặc định cho các DTD. Nếu một thuộc tính XSD schemalocation được tìm thấy, XSD được load và xử lí, và sẽ trả về các giá trị mặc định trong sơ đồ. Nếu một không gian tên với tiếp đầu ngữ MSXML x-schema được tìm thấy, nó sẽ load và xử lí sơ đồ XDR và trả về các thuộc tính mặc định đã được định nghĩa. Phù hợp theo chuẩn DTD.DTD Phù hợp theo sơ đồ XSD.Schema Phù hợp theo sơ đồ XDR.XDR Không giá trị hợp lệ nào được thực thi.NoneKhi một thuộc tính trong này được chọn, Một ValidationEventHandler cầnphải được gán. Đây là một sự kiện được tạo ra do các lỗi. Bạn có thể tácđộng lại lỗi theo các mà bạn cho là phù hợp.Hãy xem cách làm việc của ví dụ sau. Trướct tiên chúng ta sẽ thêm một sơđồ không gian tên XDR (XM- Data Reduced) vào file books.xml của chúngta, và đổi tên file này thành booksVal.xml. Nó trông như thế này: The Autobiography of Benjamin Franklin Benjamin Franklin 8.99 ...Chú ý rằng bookstore bây giờ có thuộc tính xmlns=x-schema:books.xdr.Nó sẽ ánh xạ đến sơ đồ XDR sau, gọi books.xdr: Giờ đây mọi thứ trông khá rõ ràng chúng ta có một file XML với hai thuộctính được định nghĩa trong sơ đồ (publicationdate và ISBN từ các thànhphần của sách). Chúng ta sẽ thêm chúng vào để bẫy các lỗi phát ra. Mãnguồn nằm trong thư mục XmlReaderSample5.First, you will also need to add:using System.Xml.Schema;to your class. Then add the following to the button event handler:protected void button1_Click (object sender, System.EventArgs e){//change this to match your path structure.string fileName = ..\..\..\booksVal.xml;XmlTextReader tr=new XmlTextReader(fileName);XmlValidatingReader trv = new XmlValidatingReader(tr);//Set validation typetrv.ValidationType=ValidationType.XDR;//Add in the Validation eventhandlertrv.ValidationEventHandler += new ValidationEventHandler(this.ValidationEvent);//Read in node at a timewhile(trv.Read()){ if(trv.NodeType == XmlNodeType.Text) listBox1.Items.Add(trv.Value); }}public void ValidationEvent (object sender, ValidationEventArgs args){ MessageBox.Show(args.Message);}Ở đây chúng tôi tạo một XmlTextReader truyền cho XmlValidatingReader.Trước tiên XmlValidatingReader được tạo, chúng ta có thể dùng nó giốngnhư cách đã làm với XmlTextReader trong ví dụ trước. Chỉ khác là chúng tachỉ rõ ValidationType, và thêm vào một ValidationEventHandler. Bạn có thểbẫy lỗi theo cách mà bạn cho là hợp lí trong ví dụ này chung tôi đưa ra mộtthông báo lỗi. Thông báo trông như thế này khi có ngoại lệ ValidationEventxảy ra:Không giống như một vài thành viên khác, ngưng khi có ngoại lệ xảy ra,XmlValidatingReader sẽ giữ nó trong quá trình đọc. Nhiệm vụ của bạn làngưng đọc và xử lí lỗi nếu bạn cho rằng đây là một lỗi quan trọng.Sử dụng Schemas Property của chứa mộtSchemas property X mlValidatingReader thể tìm thấy trong không gian tênXmlSchemaCollection, cóSystem.Xml.Schema. Tập hợp này tổ chức load lại loaded XSD và XDRschemas. Nó cực nhanh đặc biệc là khi bạn cần kiểm tra sự hợp lệ của nhiềutài liệu khác nhau, vì sơ đồ sẽ không được load mỗi khi kiểm tra. Các bướcsử dụng thuộc tính này như sau, bạn tạo một đối tượngXmlSchemaCollection. Phương thức nằm trong một Add(),XmlSchemaCollection, có bốn quá tải. Bạn có thể truyền nó cho một đốitượng xuất phát từ XmlSchema, một đối tượng xuất phát từXmlSchemaCollection, một chuỗi không gian tên với chuỗi URI của file sơđồ và một đối tượng xuất phát từ XmlReader chứa trong sơ đồ.Sử dụng lớp XmlTextWrite ...
Nội dung trích xuất từ tài liệu:
Thao tác XML - Đọc và ghi Streamed XML – Phần 2 Thao tác XMLĐọc và ghi Streamed XML – Phần 2Sử dụng lớp XmlValidatingReaderNếu bạn muốn xác nhận một tài liệu XML, bạn sẽ cần phải sử dụng lớpXmlValidatingReader. Nó chứac các khả năng giống như X mlTextReader(Cả hai đều xuất phát từ X mlReader) nhưng X mlValidatingReader có thêmthuộc tính ValidationType, thuộc tính Schemas và SchemaType.Nếu bạn gán thuộc tính ValidationType giá trị xác nhận mà bạn muốn. Giátrị hợp lệ của thuộc tính này được liệt kê trong bảng sau:Property DescriptionValue Nếu một DTD được khai báo trong một khai báoAuto , điều này cho phép DTD sẽ được load vàProperty DescriptionValue xử lí. Giá trị mặc định cho các DTD. Nếu một thuộc tính XSD schemalocation được tìm thấy, XSD được load và xử lí, và sẽ trả về các giá trị mặc định trong sơ đồ. Nếu một không gian tên với tiếp đầu ngữ MSXML x-schema được tìm thấy, nó sẽ load và xử lí sơ đồ XDR và trả về các thuộc tính mặc định đã được định nghĩa. Phù hợp theo chuẩn DTD.DTD Phù hợp theo sơ đồ XSD.Schema Phù hợp theo sơ đồ XDR.XDR Không giá trị hợp lệ nào được thực thi.NoneKhi một thuộc tính trong này được chọn, Một ValidationEventHandler cầnphải được gán. Đây là một sự kiện được tạo ra do các lỗi. Bạn có thể tácđộng lại lỗi theo các mà bạn cho là phù hợp.Hãy xem cách làm việc của ví dụ sau. Trướct tiên chúng ta sẽ thêm một sơđồ không gian tên XDR (XM- Data Reduced) vào file books.xml của chúngta, và đổi tên file này thành booksVal.xml. Nó trông như thế này: The Autobiography of Benjamin Franklin Benjamin Franklin 8.99 ...Chú ý rằng bookstore bây giờ có thuộc tính xmlns=x-schema:books.xdr.Nó sẽ ánh xạ đến sơ đồ XDR sau, gọi books.xdr: Giờ đây mọi thứ trông khá rõ ràng chúng ta có một file XML với hai thuộctính được định nghĩa trong sơ đồ (publicationdate và ISBN từ các thànhphần của sách). Chúng ta sẽ thêm chúng vào để bẫy các lỗi phát ra. Mãnguồn nằm trong thư mục XmlReaderSample5.First, you will also need to add:using System.Xml.Schema;to your class. Then add the following to the button event handler:protected void button1_Click (object sender, System.EventArgs e){//change this to match your path structure.string fileName = ..\..\..\booksVal.xml;XmlTextReader tr=new XmlTextReader(fileName);XmlValidatingReader trv = new XmlValidatingReader(tr);//Set validation typetrv.ValidationType=ValidationType.XDR;//Add in the Validation eventhandlertrv.ValidationEventHandler += new ValidationEventHandler(this.ValidationEvent);//Read in node at a timewhile(trv.Read()){ if(trv.NodeType == XmlNodeType.Text) listBox1.Items.Add(trv.Value); }}public void ValidationEvent (object sender, ValidationEventArgs args){ MessageBox.Show(args.Message);}Ở đây chúng tôi tạo một XmlTextReader truyền cho XmlValidatingReader.Trước tiên XmlValidatingReader được tạo, chúng ta có thể dùng nó giốngnhư cách đã làm với XmlTextReader trong ví dụ trước. Chỉ khác là chúng tachỉ rõ ValidationType, và thêm vào một ValidationEventHandler. Bạn có thểbẫy lỗi theo cách mà bạn cho là hợp lí trong ví dụ này chung tôi đưa ra mộtthông báo lỗi. Thông báo trông như thế này khi có ngoại lệ ValidationEventxảy ra:Không giống như một vài thành viên khác, ngưng khi có ngoại lệ xảy ra,XmlValidatingReader sẽ giữ nó trong quá trình đọc. Nhiệm vụ của bạn làngưng đọc và xử lí lỗi nếu bạn cho rằng đây là một lỗi quan trọng.Sử dụng Schemas Property của chứa mộtSchemas property X mlValidatingReader thể tìm thấy trong không gian tênXmlSchemaCollection, cóSystem.Xml.Schema. Tập hợp này tổ chức load lại loaded XSD và XDRschemas. Nó cực nhanh đặc biệc là khi bạn cần kiểm tra sự hợp lệ của nhiềutài liệu khác nhau, vì sơ đồ sẽ không được load mỗi khi kiểm tra. Các bướcsử dụng thuộc tính này như sau, bạn tạo một đối tượngXmlSchemaCollection. Phương thức nằm trong một Add(),XmlSchemaCollection, có bốn quá tải. Bạn có thể truyền nó cho một đốitượng xuất phát từ XmlSchema, một đối tượng xuất phát từXmlSchemaCollection, một chuỗi không gian tên với chuỗi URI của file sơđồ và một đối tượng xuất phát từ XmlReader chứa trong sơ đồ.Sử dụng lớp XmlTextWrite ...
Tìm kiếm theo từ khóa liên quan:
lập trình tài liệu lập trình kỹ thuật lập trình giáo trình C ngôn ngữ lập trình C tự học lập trình với CGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 260 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 202 0 0 -
101 trang 199 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 192 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 161 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 152 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 149 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 129 0 0 -
161 trang 129 1 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0