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

AZDIGI ĐANG GIẢM GIÁ 45% VPS VÀ HOSTING, TRANH THỦ MUA NHÉ BẠN.

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.

Nguồn: freetuts.net

KHÓA HỌC ĐANG GIẢM GIÁ

FEDU - 30 – HTML CSS cơ bản

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 029- Học lập trình React js và Redux từ đầu, tạo ứng dụng fullstack với Node JS + React JS

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 27 – Lập trình back-end cơ bản với nodejs & mongodb, mongooose, postgresql.

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 25 – Thiết kế hiệu ứng bằng Javascript và illustrator

(Giảng viên: NGUYỄN ĐỨC VIỆT )

XEM
FEDU - 03: Thành thạo lập trình jquery qua 20 bài tập thực hành

(Giảng viên: Nguyễn Đức Việt)

XEM

BÌNH LUẬN

Đặt câu hỏi: Hãy tham gia vào group học lập trình web để tham gia thảo luận và đặt câu hỏi, với hơn 30.000 thành viên hiện đang hoạt động tại group này. Ngoài ra bạn cũng có thể đặt câu hỏi nếu cần tư vấn về các vấn đề như định hướng nghề nghiệp, những khó khăn trong quá trình học tập.

Hỗ trợ việc làm: Hãy tham gia vào group việc làm công nghệ thông tin để tìm và đăng tuyển lập trình viên. Hy vọng đây sẽ là nơi tìm kiếm việc làm lý tưởng cho bạn và nhà tuyển dụng.