假設有如下所示的xml檔案:
<?
xmlversion="1.0"
encoding="utf-8"
?>
<
root
>
<
header
>
<
row>
<
crrnum
>1000000129
crrnum
>
<
requestedby
>lm-cust-1
requestedby
>
<
customernum
>lm-cust-1
customernum
>
row>
header
>
<
details
>
<
row>
<
itemcode
>lm-11
itemcode
>
<
itemname
>liuming 11
itemname
>
<
serialnum
>1000000852000
serialnum
>
row>
<
row>
<
itemcode
>lm-11
itemcode
>
<
itemname
>liuming 11
itemname
>
<
serialnum
>1000000852001
serialnum
>
row>
<
row>
<
itemcode
>lm-11
itemcode
>
<
itemname
>liuming 11
itemname
>
<
serialnum
>1000000852002
serialnum
>
row>
details
>
root
>
這個xml檔案是由乙個asp.net程式生成的,用於裝載乙個報表所需的資料。這個報表需要用asp來實現。簡要介紹一下asp中操作xml檔案的方法:
第一步:宣告xml物件:
set xmlreport = server.createobject("microsoft.xmldom")
第二步:配置這個xmlreport物件:
xmlreport.async=false
第三步:載入xml檔案:
xmlreport.load(sfilename)
最開始的想法是asp.net在生成xml後,直接放在乙個session中,asp直接讀取這session。但是實驗結果是asp無法讀取asp.net建立的session。沒辦法只能是先儲存到乙個檔案中,然後將檔案名字傳給asp。asp在開啟這個檔案。
第四步:現在xml檔案已經開啟,接下來的操作就是要選取所屬的資料了。這個xml中包含了兩大部分:第一部分是頭資訊;第二部分是明細資訊。其中明細資訊中包含多條記錄。
首先要得到header節點:
set xmlheader = xmlreport.getelementsbytagname("header").item(0)
因為getelementsbytagname返回的是乙個陣列,因此要加上item(0)。因為只有乙個header標籤,所以陣列索引直接寫0。
其次要得到header下面的row節點:
set xmlrow = xmlheader.childnodes.item(0)
同樣childnodes也是乙個節點組,也需要用item(0)來獲取指定的row節點。
最後就可以得到具體的資料了:
scrrno = xmlrow.childnodes.item(0).text
如果有多個row,比如details標籤。那麼只需要迴圈即可:
for i = 0 to xmldetail.childnodes.length - 1
set xmlrow = xmldetail.childnodes.item(i)
sitemno = xmlrow.childnodes.item(0).text
sitemname = xmlrow.childnodes.item(1).text
ssnno = xmlrow.childnodes.item(2).text
next
ASP操作XML檔案的主要方法和實現
asp通過xmldom在伺服器端操作xml檔案的主要方法和實現 對於小資料量,xml檔案在檢索更新上於access有很多優勢。我曾經測試過不用資料庫,把 的會員資訊,商品資料資訊,交易資訊,定製資訊全部存放在三個xml檔案中,執行結果十分正常,感覺上比資料庫快多了,不過沒有作測試,不能確定。下面說一...
asp寫的日誌處理方法 XML
一 實現方法 乙個書寫日誌的函式,提供幾個引數,使用者程式呼叫這個函式就可以實現日誌的記錄。日誌記錄到xml檔案中,日誌檔案按日期生成,每天新建立乙個日誌檔案,檔名為 yyyy mm dd.xml,分別用了年月日。而檢視日誌也日常簡單,使用者想看哪天的日誌,只要直接呼叫該xml檔案即可。因為xml檔...
XML操作方法
4 寫xml標記及資料,儲存為xml檔案.建立檔案流,建立xmltextwriter並設定formatting屬性 string filename textbox1.text system.io.filestream myfilestream new system.io.filestream fil...