 |

XML คืออะไร?
XSLT คืออะไร?
XLink คืออะไร?
XML Schema คืออาไร?
RDF หละคืออาไร?
Web Services คืออาไร?

Search
Article Archive
FAQs

XML Resources
Events Calendar

|
 |
Down Load Source Code (1Kb)
เข้าถึงแต่ละ Node ของข้อมูลด้วย ASP
ในบางครั้งคุณอาจจะต้องการ เขียนโปรแกรม เพื่อที่จะอ่านไฟล์ XML แล้วค้นหาข้อมูล ที่ Node ต่างๆ เพื่อใช้ในการคำนวณหรือแสดงผลต่อไป Source Code ต่อไปนี้จะแสดงถึงการ
ไปอ่านข้อมูลจาก Attribute แล้วนำข้อมูลจาก ค่า Attribute นั้นๆ มาทำการวนลูปเพื่ออ่านค่าจาก Node อื่นๆ ต่อไป
กำหนดให้ ข้อมูลใน XML file เป็นดังนี้
| |
<?xml version="1.0"?>
<SAMPLE>
<DATA CATAGORY="1">
<SECTION ID="1" COUNT="3">
<ITEM ID="1"> ITEM 1</ITEM>
<ITEM ID="2"> ITEM 2</ITEM>
<ITEM ID="3">ITEM 3</ITEM>
</SECTION>
<NAME>COMPUTER</NAME>
</DATA>
<DATA CATAGORY="2">
<SECTION ID="1" COUNT="2">
<ITEM ID="1">TEL 1</ITEM>
<ITEM ID="2"> TEL 2</ITEM>
</SECTION>
<NAME>TELEPHON</NAME>
</DATA>
</SAMPLE>
data.xml
|
ข้อมูลประกอบด้วย 2 record โดยมี
Tag <ITEM> ซ้อนอยู่ภายใน Tag <SECTION> |
| |
เริ่มจากการสร้าง XML object |
|
| |
Set objXML=Server.CreateObject("microsoft.XMLDOM")
objXML.load(Server.Mappath("sample.xml"))
|
สร้าง Object
Load ไฟล์
์ |
| |
จากนั้น ก็อ่านข้อมูล ว่ามี <DATA>
element อยู่เท่าไหร่ |
|
| |
set nodeData = objXML.getElementsByTagName("DATA")
|
|
| |
ใช้ property getElementsByTagName เพื่อหลีกเลี่ยงกรณี
child node นี้ไม่เรียงลำดับใน XML Document |
|
| |
for count=0 to nodeData.length
-1 '-- วน loop ตามจำนวน element
intCatagory = nodeData.item(count).getAttribute("CATAGORY")
'-- ดึงค่าจาก Attribute
response.write "Catagory = "&intCatagory&"<br>"
set objElement = nodeData.item(count).getElementsByTagName("SECTION")
ItemCount = objElement.item(0).getAttribute("COUNT") 'ดึงค่าจาก
Attribute
response.write "Count ="&ItemCount & "<br>"
for i= 0 to ItemCount-1 '--- ใช้ค่าจาก Attribute มาวน loop
value = objElement.item(0).childnodes(i).text '--- อ่านค่า
text จาก Element
response.write value&"<br>"
Next
Next
end if
set objXML=nothing '--- อย่าลืม clear object ไม่งั้นเปลือง memory
data.asp
|
 |
|
|