Chủ đề nổi bật
03/08/2018, 10:22

Bài 07: Tìm hiểu CDATA trong XML

Bài này ta sẽ tìm hiểu cách sử dụng CDATA để giữ nguyên văn bản trong các thẻ XML, đây là một chức năng khá quan trọng giúp file XML không bị lỗi ...

Bài này ta sẽ tìm hiểu cách sử dụng CDATA để giữ nguyên văn bản trong các thẻ XML, đây là một chức năng khá quan trọng giúp file XML không bị lỗi về cú pháp.

1. CDATA trong XML

Một tài liệu XML được xây dựng bởi các thẻ XML do lập trình viên tự định nghĩa ra, và đương nhiên lập trình viên phải tuân thủ các quy tắc mà XML đề ra (xem bài XML Element). Tuy nhiên có một số trường hợp dữ liệu chứa trong các thẻ XML lại có những ký tự đặc biệt dẫn đến tài liệu XML bị đảo lộn.

Ví dụ:

<?xml version="1.0" encoding="UTF-8"?>
<Tutorials>
    <Post>
        <Title>
            Học CDATA trong XML miễn phí
        </Title>
        <Code>
            <?xml version="1.0" encoding="UTF-8"?>
            <Persons>
                <Person>
                   Nguyễn Văn Cường 
                </Person>
            </Persons>
        </Code>
    </Post>
</Tutorials>

Bạn thấy nội dung bên trong thẻ Code là một đoạn mã XML khác, có nghĩa đây là trường hợp giá trị của the XML lại là một đoạn mã XML khác. Nếu chạy lên sẽ bị lỗi như hình dưới đây:

Để khắc phục trường hợp này ta sẽ sử dụng CDATA như sau:

<?xml version="1.0" encoding="UTF-8"?>
<Tutorials>
    <Post>
        <Title>
            Học CDATA trong XML miễn phí
        </Title>
        <Code>
            <![CDATA[ 
            <?xml version="1.0" encoding="UTF-8"?>
            <Persons>
                <Person>
                   Nguyễn Văn Cường 
                </Person>
            </Persons>
            ]]>
        </Code>
    </Post>
</Tutorials>

Như vậy cú pháp của CDATA là <![CDATA[nội dung]]>.

2. Sử dụng Special Character trong XML

Special character (đôi lúc ta gọi là thực thể) là những ký tự đặc biệt được chuyển đổi thành mỗi dãy các chữ cái và dấu &;. 

Như ở trong phần một ta sử dụng CDATA để khắc phục lỗi nội dung XML chứa kí tự đặc biệt. Nhưng cũng có một cách khác là bạn chuyển những ký tự đặc biệt đó sang Special characters như bảng dưới đây.

Thực thể Mô tả
&apos; Dấu nháy đơn '
&amp; Dấu &
&gt; Dấu >
&lt; Dấu <
&quot; Dáu nháy kép "

Ví dụ: Viết lại ví dụ trên bằng cách sử dụng Special character.

<?xml version="1.0" encoding="UTF-8"?>
<Tutorials>
    <Post>
        <Title>
            Học CDATA trong XML miễn phí
        </Title>
        <Code>
            &lt;?xml version="1.0" encoding="UTF-8"?&gt;
            &lt;Persons&gt;
                &lt;Person&gt;
                   Nguyễn Văn Cường 
                &lt;/Person&gt;
            &lt;/Persons&gt;
        </Code>
    </Post>
</Tutorials>

Chạy file XML này lên và mọi thứ đều ổn.

3. Lời kết

Cả hai cách trên đều dùng để xử lý nội dung bên trong thẻ XML, tuy nhiên chúng ta vẫn hay sử dụng CDATA bởi vì nó đơn giản nhưng lại rất hiệu quả.

Bài tiếp theo chúng ta sẽ tìm hiểu một số cách hiển thị XML trên trình duyệt.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan
Mới nhất

XML căn bản

BÀI KẾ SAU BÀI KẾ TIẾP

Bài 04: Tìm hiểu XML Attributes

Trong các thẻ HTML bạn sẽ có các thuộc tính như href, id, class, src, ... Các thuộc tính này chỉ có tác dụng đặc biệt trong tài liệu HTML chứ đối ...

Bài 06: Tìm hiểu XML Namespace

Bài này chúng ta sẽ tìm hiểu khái niệm về XML Namespace , nó sẽ giải quyết vấn đề trùng tên thẻ trong một tài liệu XML. 1. XML Namespace là ...

Bài 02: Cấu trúc cây trong XML

Một tài liệu XML được tạo bởi các thẻ ( XML element ) và chúng có thể được tổ chức theo một cấu trúc cây thư mục, điều này còn có thể gọi là ...

Bài 03: Tìm hiểu Element trong XML

XML Element chúng ta đã sử dụng rất nhiều ở các ví dụ trước. Tuy nhiên ta chưa bàn tới vấn đề cú pháp và quy tắc chúng khi đặt tên cho nó, vì vậy ...

Bài 05: XML và các hệ quản trị CSDL (MySQL)

XML cũng là một dạng lưu trữ dữ liệu nhưng có điểm khác là nó lưu trữ trên file nên đối với những ứng dụng lớn vài triệu records thì rất khó để ...

Bài 07: Tìm hiểu CDATA trong XML

Bài này ta sẽ tìm hiểu cách sử dụng CDATA để giữ nguyên văn bản trong các thẻ XML, đây là một chức năng khá quan trọng giúp file XML không bị lỗi ...

Bài 01: XML là gì? Cú pháp căn bản của XML

Ngoài cách lưu trữ dữ liệu trong các hệ quản trị CSDL ra thì bạn có thể lưu trữ dữ liệu trong file TXT, file JSON hay file XML đều được. Tuy nhiên ...