<ArrayOfContacts xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="someschema">
<Contact>
<ID />
<First_Name />
<Last_Name />
<TelephoneNumbers>
<TelephoneNumber>
<Number />
<IsHome />
<IsWork />
<IsCell />
<ReachableAfterHrs />
</TelephoneNumber>
</TelephoneNumbers>
</Contact>
<Contact>
<ID />
<First_Name />
<Last_Name />
<TelephoneNumbers>
<TelephoneNumber>
<Number />
<IsHome />
<IsWork />
<IsCell />
<ReachableAfterHrs />
</TelephoneNumber>
</TelephoneNumbers>
</Contact>
</ArrayOfContacts>
看着this article。寻找一种好的方法来遍历整个xml并更改需要更改的所有节点值,这将动态选择,然后保存文档
我的递归例程类似于this
然而,当遇到<TelephoneNumbers>
时,它不会更深入地获得单个元素。
我的fn通过XMl递送
Protected Sub RecurseXML(nodes As XmlNodeList)
For Each node As XmlNode In nodes
If (node.ChildNodes.Count > 1) Then
RecurseXML(node.ChildNodes)
Else
node.InnerText = ChangeNodeValue()
End If
Next
End Sub
基本上,尝试读取整个XML并更改某些虚线[节点名称未知],然后保存更新文档。
答案 0 :(得分:1)
由于行
,您的代码不会进入<TelephoneNumbers>
If (node.ChildNodes.Count > 1) Then
这里只有一个子元素,所以它停在那个级别。