急:如何实现XML的replace()功能?

little_hero 2003-08-21 03:36:51
即从一XML文件读入,删除其中一部分内容。

Private Sub Form_Load()
Dim objXml As New DOMDocument30
Dim objNode As MSXML2.IXMLDOMNode
Dim objNodelist As MSXML2.IXMLDOMNodeList
Dim objSettingXml As New MSXML2.DOMDocument30
Dim objNodeadd As MSXML2.IXMLDOMNode
Dim objNodenew As MSXML2.IXMLDOMNode
Dim bRtn As Boolean
Dim strupdatexml As String
Dim straddxml As String
Dim strnewItem1 As String

strnewItem1 = "desktop.gif"
objXml.Load CStr("c:\items.xml")
strupdatexml = objXml.xml

Set objNodelist = objXml.selectNodes("/items/item[picname='" & strnewItem1 & "']")

For i = 1 To objNodelist.length
Set objNode = objXml.selectSingleNode("/items/item[ItemCount='" & i & "']")
straddxml = straddxml & objNode.xml
Next
If InStr(strupdatexml, straddxml) > 1 Then
MsgBox ">" --不执行
End If
strupdatexml = Replace(strupdatexml, straddxml, "")--替换没效果。
bRtn = objXml.loadXML(straddxml)
If Not bRtn Then
MsgBox "objXml.loadXML方法出错。", vbOKOnly, "Updatexmlnode出错"
Exit Sub
End If
objXml.save "c:\items2.xml"

End Sub
...全文
293 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
月光易水 2003-08-21
  • 打赏
  • 举报
回复
straddxml = straddxml & objNode.xml ???
节点与节点之间可能含有空格、回车等字符
故此字符串替换Replace 并没有执行匹配字符替换

修改:
a. 使用 (for each oNode in objNodelist) 执行循环,将匹配的节点(oNode)从文档(objXml)中删除
b. objXml.save直接保存即可


:_)


8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧