求高手 帮写个asp 修改 编辑 XML 的要GB2312的 100

XML页面是makewing.xml内容以下是<?xmlversion="1.0"encoding="UTF-8"?><topStories><story1imageUR... XML 页面 是 makewing.xml
内容以下是

<?xml version="1.0" encoding="UTF-8"?>
<topStories>
<story1
imageURL="images/b-01.jpg"
readMore="http://123"
thumbURL="images/s-01.jpg"
/>

<story2
imageURL="images/b-02.jpg"
readMore="http://123"
thumbURL="images/s-02.jpg"
/>

<story3
imageURL="images/b-03.jpg"
readMore="http://123"
thumbURL="images/s-03.jpg"
/>

<story4
imageURL="images/b-04.jpg"
readMore="http://123"
thumbURL="images/s-04.jpg"
/>

</topStories>

辛苦辛苦。 在线等, 另外 鄙视 百·度,我刚花100分 提问了一次为啥 不显示我提问的问题,客服也不搭理我,哎。MLGB
展开
 我来答
laotulaotulaot
2011-07-14 · TA获得超过3282个赞
知道大有可为答主
回答量:2586
采纳率:50%
帮助的人:2276万
展开全部
百度就是这本样子。。。。。。。。。。。。。。

比较深奥

帮楼主顶。。。。。。。。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
muyufeng
2011-07-15 · 超过23用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:65.1万
展开全部
ASP 本身没有处理XML的组件。这个需要自己写代码来处理。给你一个比较成型的类来用。
如果对“类”这个概念不理解,就百度一下,很简单的,但的确需要了解这个概念。
象常见的无组件上传类等等。
下边是ASP操作XML的类的代码。

ASP操作XML的类的说明:
可以完成ASP对XML节点的添加、删除、修改、清空。
进行上述操作,根据条件,操作类型包括:仅对第一个符合条件、及全部符合条件二种。

如:
'将第一条件值替换成新值
'call xml.r_node("/blog/sorts/sort[id='2']/name","分lei2")
'将全部条件值替换成新值
'call xml.r_nodes("/blog/sorts/sort[id='2']/name","分lei2")

<%
dim xml,xmlfile
xmlfile="/Person/3/7/fls975/blog.xml"
set xml=new QT_XML_Class

Class QT_XML_Class
'Projict : ASP操作XML
'Author : Missde
'Link : www.missde.cn
'Date : 15:25 2007-5-29
private dom,xmlpath,doc
Public iserr_
'初始化类
Private Sub Class_Initialize()
Set dom = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
xmlpath = Server.MapPath(xmlfile)
If not dom.Load(xmlpath) Then
SaveToFile "<?xml version=""1.0"" encoding=""utf-8""?>"&vbcrlf&"<blog>"&vbcrlf&"<sorts>"&vbcrlf&"</sorts>"&vbcrlf&"<blogs>"&vbcrlf&"</blogs>"&vbcrlf&"<re>"&vbcrlf&"</re>"&vbcrlf&"</blog>",xmlpath
dom.Load(xmlpath)
End If
end Sub

Private Sub Class_Terminate
If IsObject(dom) Then Set dom = Nothing
If IsObject(doc) Then Set doc = Nothing
End Sub

Private Function SaveToFile(ByVal strBody,ByVal SavePath)
dim ado
Set ado = Server.CreateObject("ADODB.Stream")
ado.Open
ado.Type = 2
ado.charset = "utf-8"
ado.WriteText strBody
ado.SaveToFile SavePath,2
ado.Close
Set ado = Nothing
End Function

function d_node(node)
iserr_=False
set doc=dom.documentElement.selectSingleNode(node)
if not doc is nothing then
doc.parentNode.removeChild(doc)
dom.save(xmlpath)
iserr_=True
end if
set doc=nothing
End Function

function d_nodes(node)
dim i
iserr_=False
set doc=dom.selectNodes(node)
if not doc is nothing then
for i=0 to doc.length-1
doc.item(i).parentNode.removeChild(doc.item(i))
next
iserr_=True
end if
dom.save(xmlpath)
set doc=nothing
End Function

function c_node(node)
iserr_=False
set doc=dom.documentElement.selectSingleNode(node)
if not doc is nothing then
doc.text=""
dom.Save(xmlpath)
iserr_=True
end if
set doc=nothing
end function
function c_nodes(node)
dim i
iserr_=False
set doc=dom.selectNodes(node)
if not doc is nothing then
for i=0 to doc.length-1
doc.item(i).text=""
next
dom.Save(xmlpath)
iserr_=True
end if
set doc=nothing
end function

function checknode(nodes,build)
dim doc2,doc3
dim i,f_node_,n_node,newnode
iserr_=True
Set doc = dom.documentElement.selectSingleNode(nodes)
if doc is nothing then
iserr_=False
if build then
nodes=split(nodes,"/")
f_node_=""
n_node=""
for i=0 to ubound(nodes)-1
if nodes(i)="" then
f_node_=f_node_&nodes(i)
f_node_=f_node_&"/"
n_node=f_node_&nodes(i+1)
else
f_node_=n_node
n_node=f_node_&"/"&nodes(i+1)
end if
Set doc2 = dom.documentElement.selectSingleNode(f_node_)
set doc3 = dom.documentElement.selectSingleNode(n_node)
if doc3 is nothing then
Set newnode = dom.createElement(nodes(i+1))
newnode.Text=""
doc2.AppendChild(newnode)
Set newnode=nothing
end if
set doc2=nothing
set doc3=nothing
next
dom.Save(xmlpath)
end if
end if
set doc=nothing
End Function

function joinxml(inset_node,xmlstr)
dim oldxml,newxml,rootNewNode
iserr_=False
Set oldXML = Server.CreateObject("Microsoft.XMLDOM")
oldXML.load(xmlpath)
set doc=oldxml.documentElement.selectSingleNode(inset_node)
if not doc is nothing then
iserr_=True
Set newXML = Server.CreateObject("Microsoft.XMLDOM")
newXML.loadXML(xmlstr&vbcrlf)
set rootNewNode=newXML.documentElement
doc.appendChild(rootNewNode)
oldxml.Save(xmlpath)
end if
set oldXML=nothing
set newXML=nothing
End Function

function r_node(node,newstr)
iserr_=False
set doc=dom.documentElement.selectSingleNode(node)
if not doc is nothing then
doc.text=newstr
iserr_=True
end if
set doc=nothing
dom.Save(xmlpath)
End Function
function r_nodes(node,newstr)
dim i
iserr_=False
set doc=dom.selectNodes(node)
if not doc is nothing then
for i=0 to doc.length-1
doc.item(i).text=newstr
next
iserr_=True
end if
set doc=nothing
dom.Save(xmlpath)
End Function
function replace_node(node,newstr)
call add_node(node,newstr,0)
End Function
function add_node(node,newstr,num)
set doc=dom.selectNodes(node)
if not doc is nothing then
if doc.length >=num then
call d_node(node)
end if
end if
set doc=nothing
call joinxml(left(node,instrrev(node,"/")-1),newstr)
End Function

function f_node(node)
dim getnode
set doc=dom.documentElement.selectSingleNode(node)
if not doc is nothing then
iserr_=True
getnode=doc.Text
else
getnode=""
iserr_=False
end if
set doc=nothing
f_node=getnode
end function

function count(node)
dim nodenum
nodenum=array(0,0,"")
iserr_=False
set doc=dom.selectNodes(node)
if not doc is nothing then
nodenum(0)=doc.length
nodenum(2)=doc.item(0).xml
if doc.item(0).hasChildNodes() then
nodenum(1)=doc.item(0).childNodes.length
end if
iserr_=True
end if
count=nodenum
end function

function id_(str)
id_=String(10-len(str),"0")
end function
function now_(dd)
dim m,d,h,mm
if not isdate(dd) then d=now()
dd=cdate(dd)
m=month(dd)
d=day(dd)
h=hour(dd)
mm=Minute(dd)
if m<10 then m="0"&m
if d<10 then d="0"&d
if h<10 then h="0"&h
if mm<10 then mm="0"&mm
now_=year(dd)&"-"&m&"-"&d&" "&h&":"&mm&":"&Second(dd)
end function
end class
%>
追问
能帮我 把每个页面列举出来吗?  

这 350分都给你。。。 http://zhidao.baidu.com/question/292607654.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式