Java và XML (phần 2)

06/ Hiển thị XML trong một trang HTML

    * XML nằm trong HTML

Ta dùng thẻ xml để báo cho IE biết là nội dung là mã XML

<xml id=xmldso>
    <!DOCTYPE hocsinh [
    <!ELEMENT hocsinh (name,class)*>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT class (#PCDATA)>
    ]>
    <hocsinh>
    <name>Bill Gates</name>
    <class>First</class>
    </hocsinh>
    </xml>
    // mã HTML như bình thường

    * XML nằm ngoài HTML

Bạn muốn dùng hocsinh.html để hiển thị hocsinh.xml dùng table để hiển thị dữ liệu. Bạn viết trang hocsinh.html như sau

   

<xml id=xmldso src=hocsinh.xml></xml>
    <table id=table1 dataSrc=#xmldso border=1 width=100%>
    <tr>
    <td width=50%>
    <p align=center>
    <span dataFld=name></span>
    </p>
    </td>
    <td width=50%>
    <p align=center>
    <span dataFld=class></span>
    </p>
    </td>
    </tr>
    </table>

 

07/ XML Object Model

    – Nạp tài liệu XML

    <xml id=xmldso src=person.xml></xml>
    <script>
    xmldoc=document.all.xmldso
    – Lấy nút gốc của XML

    rootNode=xmldoc.documentElement

    – Lấy nút con đầu tiên

    firstNode=rootNode.firstChild

    – Lấy nút con cuối cùng

    lastNode=rootNode.lastChild

    – Lấy nút cùng cấp tiếp theo

   nextNode=firstNode.nextSibling

    – Lấy nút cùng cấp trước đó

    previousNode=lastNode.previousSibling

    – Lấy giá trị text của một nút

    firstNode.text

    – Lấy tên của một nút

    firstNode.nodeName

* Dưới đây là tài liệu person.xml

    <?xml version=”1.0″?>
    <!DOCTYPE person [
    <!ELEMENT person (item)*>
    <!ELEMENT item (name, sur, age)*>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT sur (#PCDATA)>
    <!ELEMENT age (#PCDATA)>
    ]>
    <person>
    <item>
    <name>James</name>
    <sur>Surlivan</sur>
    <age>26</age>
    </item>
    <item>
    <name>Henry</name>
    <sur>Heartrow</sur>
    <age>32</age>
    </item>
    </person>

* Ta sẽ lấy ra tên người thứ 2

    <xml id=xmldso src=person.xml></xml>
    <script>
    xmldoc=document.all.xmldso
    rootNode=xmldoc.documentElement
    lastNode=rootNode.lastChild
    document.write(lastNode.firstChild.text)
    </script>

Nó sẽ ra “Henry”