【发布时间】:2018-02-08 13:20:47
【问题描述】:
我正在使用以下 XML 示例:
<order>
<name></name>
<etc></etc>
<etc></etc>
<components>
<component>
<sub></sub>
</component>
<component>
<sub></sub>
</component>
<component>
<sub></sub>
</component>
<component>
<sub></sub>
</component>
</components>
</order>
我正在尝试选择并删除每一秒 <component>,它是 vb.net 中的 subs。
以下是我目前得到的:
'make xmldocument object to hold xml string'
Dim XMLDoc As New XMLDocument()
XMLDoc.LoadXML(strXMLContent)
'get all elements named component'
Dim componentList As XmlNodeList = XMLDoc.GetElementsByTagName("Component")
Dim c As Integer
Dim i As Integer = 1
'for every component element add i to itself to only get seconds'
'and if on a second element, remove it and all sub elements inside it'
For c = 0 To componentList.Count - 1
i += i
If i > 2 Then
componentList(c).ParentNode.RemoveChild(componentList(c))
End If
Next c
'output to a string to see results'
x &= XMLDoc.DocumentElement.OuterXml
我遇到的问题是,当我运行此程序时,在调用实际 RemoveChild() 的行上得到“Object reference not set to an instance of an object”。
【问题讨论】:
-
您能描述一下您遇到的问题吗?从您的问题中不清楚出了什么问题。
-
现在我在运行它时得到“对象引用未设置为对象的实例”。我不确定在删除孩子的那一行应该使用什么逻辑。
-
您应该在问题中直接包含任何信息,因为有些人可能会错过 cmets。这次我为你编辑了问题。这不是我的专业领域,我只是在审核您的问题(所有首次问题都已审核)所以现在看来这是一个很好的问题,我将把它留给专家来回答:)