|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
[XML&ASP]如何用ASP修改XML中元素值?
要处理的XML文件内容:
[code]
<?xml version="1.0" encoding="utf-8" ?>
<basic>
<name>abcdefg</name>
</basic>
[/code]
首先读取XML文件中节点的值给一个表单 如:
[code]
<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.Load(Server.MapPath("b.xml"))
strName = objXML.documentElement.firstChild.text
Set objXML = Nothing
%>
<form action="test.asp" method="post">
<input type="text" size="40" name="host" value="<%=strName%>">
<input type="submit" value="--确定--">
</form>
[/code]
问题:
1、当提交表单后如何修改XML文件中相对应的元素值
2、当用这条语句读元素值时出现(错误的参数个数或无效的参数属性值)的错误,如何解决
strName = objXML.getElementsByTagName("name")
|
UPPPPPPPPPPPP |
弄了个笨方法,先删除XML中的元素再添加一个新的,这样很麻烦,有没有直接修改指定元素的方法吗?
[code]
<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load(Server.MapPath("basicinfo.xml"))
Set objHost = objXML.documentElement.SelectSingleNode("basic_host")
strHost = objHost.text
str = Request("host")
Set objXD = objXML.documentElement.SelectSingleNode("basic_host")
objXML.documentElement.RemoveChild(objXD)
Set objXA = objXML.documentElement.AppendChild(objXML.createElement("basic_host"))
objXA.text = str
objXML.Save Server.MapPath("basicinfo.xml")
Set objXML = Nothing
%>
<form action="test.asp" method="post">
BLOG地址:<input type="text" size="40" name="host" value="<%=strHost%>">
<input type="submit" value="--确定--">
</form>
[/code] |
UPPPPPPPPPPPP |
有没有办法取到你要修改的那个节点所处的位置?
如果可以,直接赋新值就行了。 |
[code]
<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load(Server.MapPath("basicinfo.xml"))
Set objHost = objXML.documentElement.SelectSingleNode("basic_host")
strHost = objHost.text
str = Request("host")
Set objXD = objXML.documentElement.SelectSingleNode("basic_host")
'这里改成这样
objXD.text = "xxxxx"
objXML.Save Server.MapPath("basicinfo.xml")
Set objXML = Nothing
%>
<form action="test.asp" method="post">
BLOG地址:<input type="text" size="40" name="host" value="<%=strHost%>">
<input type="submit" value="--确定--">
</form>
[/code] |
是这样啊,谢谢海格雷尔了,昨天弄的头都大了也没出来,只好用笨方法3楼
看起来还是要好好学学XMLDOM
http://www.china-pub.com/computers/common/info.asp?id=14777
这本书讲DOM的,有人看过了怎么样? |
|