У меня уже есть код, который добавляет дочерний элемент к элементу.Но я не нашел способ просто добавить еще одного родного брата.В основном у меня есть список узлов, и все они названы буквой и номером.Например: A01, A02, B05, B06, D19, D20 и т. Д. Теперь, когда я хочу добавить еще один узел в «группу D», у меня есть код, который делает это:
Protected Sub addNodeToSectionInOrder(ByVal rootNode As XmlDocument, ByVal rowNode As XmlElement)
Dim xmlNameTbl As XmlNameTable = rootNode.NameTable
Dim xmlNS As XmlNamespaceManager = New XmlNamespaceManager(xmlNameTbl)
xmlNS.AddNamespace("asp", "http://webadmin.rp.com/asp")
Dim sectionLetter As String = rowNode.GetAttribute("ID").Substring(0, 1)
Dim addingNav As XPathNavigator = rootNode.CreateNavigator
Dim addingItr As XPathNodeIterator = addingNav.Select("//asp:TableRow[starts-with(@ID, '" & sectionLetter & "')]", xmlNS)
While addingItr.MoveNext
'just moving iterator to the last node
'hope to find a better way of doing this
End While
End Sub
Теперь япросто хочу добавить rowNode в этот список, в качестве родного брата.Я пробовал xpathnavigator, xpathnodeiterator, xmlnodelist.Пока ничего.Я почти уверен, что ошибаюсь, но не могу понять, где.
Редактировать: Пример XML
<?xml version="1.0" encoding="utf-8"?>
<Root>
<BoxGroup ID="A01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="A02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="A03">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B03">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="C01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="C02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="C03">
<Items>Apple</Items>
</BoxGroup>
</Root>
Добавить в качестве нового узла:
<BoxGroup ID="B04">
<Items>Apple</Items>
</BoxGroup>
И результирующий XML должен быть:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<BoxGroup ID="A01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="A02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="A03">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="B03">
<Items>Apple</Items>
</BoxGroup>
**<BoxGroup ID="B04">
<Items>Apple</Items>
</BoxGroup>**
<BoxGroup ID="C01">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="C02">
<Items>Apple</Items>
</BoxGroup>
<BoxGroup ID="C03">
<Items>Apple</Items>
</BoxGroup>
</Root>