当前位置:K88软件开发文章中心编程语言XmlXml01 → 文章内容

ASP操作xml--向xml文件中的添加节点

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 9:25:52

<
!DOCTYPE 
HTML 
PUBLIC 
"
-//W3C//DTD 
HTML 
4.0 
Transitional//EN"
>

<
HTML>

 
<
HEAD>

 
 
<
TITLE>
 
向xml中添加新节点 
<
/TITLE>

 
 
<
META 
NAME="
Generator"
 
CONTENT="
EditPlus"
>

 
 
<
META 
NAME="
Author"
 
CONTENT="
"
>

 
 
<
META 
NAME="
Keywords"
 
CONTENT="
"
>

 
 
<
META 
NAME="
Description"
 
CONTENT="
"
>

 
 
<
style>

 
 
body 

{font-size:12px
}
 
 
<
/style>

 
<
/HEAD>


 
<
BODY>

 
<
!--
#include 
file="
top.asp"
-->

 
<
%
 
addok=request("
addok"
)
 
If 
addok="
"
 
Or 
IsNull(addok) 
Then
 
%>

 
 
<
form 
name="
form1"
 
method="
post"
 
action="
?addok=add"
>

 
 
网站名:<
input 
type="
text"
 
name="
site"
 
size="
30"
 
>


 
 
网 
 
址:<
input 
type="
text"
 
name="
url"
 
size="
40"
>


 
 
<
input 
type="
submit"
 
value="
提交"
>
 
<
input 
type="
reset"
 
value="
重置"
>

 
 
<
/form>

 
<


 
End 
If
 
If 
addok="
add"
 
then
 
 
site=request("
site"
)
 
 
url=request("
url"
)
 
 
strSourceFile 

Server.MapPath("
./"

&

#38
 
"
\test.xml"

&
#39
获取XML文件的路径这里根据你的虚拟目录不同而不同
Set 
objXML 

Server.CreateObject("
Microsoft.XMLDOM"
)
&
#39
创建XML对像
objXML.load(strSourceFile)
&
#39
把XML文件读入内存中
Set 
objRootlist 

objXML.documentElement.selectSingleNode("
root"
)
&
#39
选取<
root>
节点
if 
objRootlist.hasChildNodes 
then
&
#39
判断<
NewList>
是否有子节点(因为如果是每一次<
root>
是没有子节点的, 
如果不加判断在第一次运得时就会报错
id 

objRootlist.lastchild.firstchild.text+1
&
#39
这里获得将要插入子节点的ID号,其ID号为<
root>
的最后一个子节点(lastchild)的第一个子节点(firstchild)
&
#39
的ID号加1(这里我们按照关系型数据库的ID号来递增)
else
&
#39
如是没有字子节点则是第一次留言ID号设为1
id=1
end 
If
brstr=chr(13)&

#38
chr(10)&

#38
chr(9)
XMLnode=brstr&

#38
"
<
list>
"
&

#38
vbnewline 
&

#38
 
_
 
 
 
 
"
<
id>
"
&

#38
id&

#38
"
<
/id>
"
&

#38
vbnewline 
&

#38
 
_
"
<
name>
"
&

#38
site&

#38
"
<
/name>
"
&

#38
vbnewline 
&

#38
 
_
"
<
url>
"
&

#38
url&

#38
"
<
/url>
"
&

#38
vbnewline 
&

#38
 
_
"
<
time>
"
&

#38
Replace(Replace(Now(),"
上午 
"
,"
"
),"
下午 
"
,"
"
)&

#38
"
<
/time>
"
&

#38
vbnewline 
&

#38
 
_
"
<
/list>
"
&

#38
vbnewline&

#38
vbnewline

 
 
 
&
#39
根据得到的数据建立XML片段
set 
objXML2=Server.CreateObject("
Microsoft.XMLDOM"
)
&
#39
建立一个新XML对像
objXML2.loadXML(XMLnode)
&
#39
把XML版片段读入内存中
set 
rootNewNode=objXML2.documentElement
&
#39
获得objXML2的根节点
objRootlist.appendChild(rootNewNode)
&
#39
把XML片段插入到test.xml中
objXML.save(strSourceFile)
&
#39
存储test.xml文件(因为不存储test.xml只在内存中更新了)
set 
objXML=nothing
set 
objXML2=nothing
Response.Redirect("
index.asp"
)
response.end
 
End 
If
 
%>

 
<
/BODY>

<
/HTML>


test.xml中的内容是
<
?xml 
version="
1.0"
 
encoding="
gb2312"
?>

<
site>

 
<
root>

 
 
 
<
list>

 
 
 
 
<
id>
0<
/id>

 
 
 
 
<
name>
新浪<
/name>

 
 
 
 
<
url>
http://www.sina.com.cn<
/url>

 
 
 
 
<
time>
2007-11-1 
10:10:10<
/time>

 
 
<
/list>

 
<
/root>

<
/site>



源码下载地址:http://www.aspprogram.cn/soft.asp?id=33

ASP操作xml--向xml文件中的添加节点