比如有个xml文件.
1<node1>
2<node11>
3<node111>
4<node1111>
5<node11111>
6<node111111>
7</node111111>
8<node111112>
9</node111112>
10</node11111>
11</node1111>
12</node111>
13</node11>
14</node1>
我想只删除结点node111112
我用
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
加载后。
set m_node = objXml.documentElement
m_node.removeChild(m_node.childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(1))
不行
m_node.childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).removeChild(m_node.childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(0).childNodes.item(1))
也不行。
我该如何写??
---------------------------------------------------------------
可以参看msdn中下面的函数。
selectSingleNode中指明路径就可以了。
Function FilterRecordsetXMLForChangedRecordsOnly(xml As String) As String
Dim DOMDoc As New MSXML.DOMDocument
Dim DataNode As MSXML.IXMLDOMNode
Dim RemNode As MSXML.IXMLDOMNode
Dim i As Integer, offset As Integer
DOMDoc.async = False
DOMDoc.loadXML xml
Set DataNode = DOMDoc.selectSingleNode("xml/rs:data")
offset = 0
For i = 0 To DataNode.childNodes.length - 1
If DataNode.childNodes(i - offset).nodeName = "z:row" Then
Set RemNode = DataNode.removeChild(DataNode.childNodes(i - offset))
offset = offset + 1
End If
Next
FilterRecordsetXMLForChangedRecordsOnly = DOMDoc.xml
End Function
---------------------------------------------------------------
用getElementsByTagName(),然后removeNamedItem()呢