用ASP讀取XML
test.xml
<?xml version="1.0" encoding="big5"?>
<Persons>
<Person name="sale">
<Name>張三</Name>
<Mobile>123XXXXXXXX</Mobile>
<Name>李四</Name>
<Mobile>456XXXXXXXX</Mobile>
</Person>
<Person name="mart">
<Name>王五</Name>
<Mobile>789XXXXXXXX</Mobile>
</Person>
</Persons>
<Persons>
<Person name="sale">
<Name>張三</Name>
<Mobile>123XXXXXXXX</Mobile>
<Name>李四</Name>
<Mobile>456XXXXXXXX</Mobile>
</Person>
<Person name="mart">
<Name>王五</Name>
<Mobile>789XXXXXXXX</Mobile>
</Person>
</Persons>
這是一個 XML 的資料範例,如果想讀內部所有的成員資料,可用以下的方法讀出:
text.asp





















此範例會陸續印出「王五、李四、張三」。
若是只想要印出某單位人事資料,譬如只想要 <Person name="sale"> 裡的兩人,
則可用:
text.asp





















其中標明的「"/Persons/Person[@name='sale']/Name"」這一行是使用了 XSL 擷取資料的技巧,
XSL 中有提供幾個關鍵字(摘自《最新 XML 入門與應用》,松崗電腦圖書資料股份有限公司):
關鍵字元 說明
/ | 代表某一元素下一層的子元素 |
// | 代表某一元素之下的所有子元素,包含子元素下的子元素 |
. | 代表目前的節點位置,即模式設定所在的節點 |
.. | 代表目前節點的上一層節點,即模式設定的父節點 |
* | 表示任一子元素或屬性的萬用字元 |
@ | 代表某一元素的屬性 |
[] | 附加的選擇條件 |
| | 結合多個選擇路徑 |
所以「"/Persons/Person[@name='sale']/Name"」就代表取得 <Persons>下的<Person>中,name 屬性等於 sale的 <Name>標籤資料。