Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проблема с xml / 2 сообщений из 2, страница 1 из 1
06.11.2004, 14:32
    #32771717
GreatValen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с xml
Я снова не могу совладать с xml:

Есть код:
==============================================================
Dim xd As New Xml.XmlDocument
xd.Load("xmlfile.xml")

Dim elemItem As Xml.XmlElement = xd.CreateElement("Item")
Dim cmpId As Xml.XmlAttribute = xd.CreateAttribute("Id")
Dim cmpName As Xml.XmlAttribute = xd.CreateAttribute("Name")

Dim elemSubItem1 As Xml.XmlElement = xd.CreateElement("SubItem1")
Dim elemSubItem2 As Xml.XmlElement = xd.CreateElement("SubItem2")

elemItem.SetAttributeNode(cmpId)
elemItem.SetAttribute("Id", strItemID)
elemItem.SetAttribute("Name", strItemName)

Dim rootItem As Xml.XmlElement = xd.Item("Root").Item("Item")

elemSubItem1.InnerText = "Sub Item Value 1"
elemSubItem2.InnerText = "Sub Item Value 2"

rootItem.AppendChild(elemItem).AppendChild(elemSubItem1)
rootItem.AppendChild(elemItem).AppendChild(elemSubItem2)

xd.Save("xmlfile.xml")
==============================================================

В результате получается:

<?xml....>
<Root>
...
<Item id="..." Name="...">
<SubItem1>...</SubItem1>
<SubItem2>...</SubItem2>
...
</Item>
</Root>

Но нужно уже после SubItem2 вставить следующее:
...
...
...
</SubItem2>
<PlusItemsList>
<PlusItem PlusID="..." PlusName="..." />
...
</PlusItemsList>

Вот как это сделать??? (PlusItemsList - значения присваевается в цикле, точного количества проходов неизвестно).

Я попробовал так:

...

Dim elemPlusItem As Xml.XmlElement = xd.CreateElement("PlusItem")
Dim cmpPlusID As Xml.XmlAttribute = xd.CreateAttribute("PlusID")
Dim cmpPlusName As Xml.XmlAttribute = xd.CreateAttribute("PlusName")
...

Dim elemPlusList As Xml.XmlElement = xd.CreateElement("PlusItemsList")
rootItem.AppendChild(elemItem).AppendChild(elemPlusList)

For i = 0 To iCount
elemComponent.SetAttribute("PlusID", "...")
elemComponent.SetAttribute("PlusName", "...")

rootItem.AppendChild(elemItem).AppendChild(elemPlusList).AppendChild(elemPlusItem)
Next i

Но добавляется только последний элемент.

PLEASE HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_______________________________________________________
Если расширить двери восприятия и отбросить всё наностное, то все вещи предстанут такими, какие они есть на самом деле - Б Е С К О Н Е Ч Н Ы М И !!!
...
Рейтинг: 0 / 0
15.11.2004, 17:14
    #32782826
Dats
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с xml
GreatValenЯ снова не могу совладать с xml:

Я попробовал так:

...

Dim elemPlusItem As Xml.XmlElement = xd.CreateElement("PlusItem")
Dim cmpPlusID As Xml.XmlAttribute = xd.CreateAttribute("PlusID")
Dim cmpPlusName As Xml.XmlAttribute = xd.CreateAttribute("PlusName")
...

Dim elemPlusList As Xml.XmlElement = xd.CreateElement("PlusItemsList")
rootItem.AppendChild(elemItem).AppendChild(elemPlusList)

For i = 0 To iCount
elemComponent.SetAttribute("PlusID", "...")
elemComponent.SetAttribute("PlusName", "...")

rootItem.AppendChild(elemItem).AppendChild(elemPlusList).AppendChild(elemPlusItem)
Next i

Но добавляется только последний элемент.

PLEASE HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_______________________________________________________
Если расширить двери восприятия и отбросить всё наностное, то все вещи предстанут такими, какие они есть на самом деле - Б Е С К О Н Е Ч Н Ы М И !!!

Я конечно не эксперт, но ты New Делать в цикле пробовал? Типа
Dim elemPlusItem As NEW Xml.XmlElement
Вроде симптомчики связаны именно с наличием всего 1-го объекта.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проблема с xml / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]