Страница: 1 |
Страница: 1 |
Вопрос: проблема с XML
Добавлено: 12.04.08 00:03
Автор вопроса: VoVaN | ICQ: 4921085
Господа, помогите пожалуйста с XML... Не могу разобраться, как прочитать потомков только данной ветки, а не всех сразу...
Dim XPNavigator As System.Xml.XPath.XPathNavigator 'Навигатор по документу
Dim XPNIterator As System.Xml.XPath.XPathNodeIterator ' Список веток в документе
ListBox1.Items.Clear()
Try
XMLDoc = New System.Xml.XmlDocument 'создали объект
XMLDoc.Load(Application.StartupPath + "\base\Simp\" & ComboBox1.SelectedItem & ".xml")
XPNavigator = XMLDoc.CreateNavigator 'из документа получили навигатор
XPNIterator = XPNavigator.Select("Razdel/group/simp") 'из навигатора получили итератор(список)
While XPNIterator.MoveNext 'Работаем через итерацию
XPNIterator.Current.MoveToFirstAttribute() 'Двигаем к первому атрибуту
Do
XPNIterator.Current.MoveToFirstChild() 'К первому потомку
Do
Select Case XPNIterator.Current.Name
Case "name"
ListBox1.Items.Add(XPNIterator.Current.Value)
simpt(num).name = XPNIterator.Current.Value
simpt(num).grp = ComboBox2.SelectedItem
simpt(num).razd = ComboBox1.SelectedItem
Case "l1"
simpt(num).n1 = XPNIterator.Current.Value
Case "l2"
simpt(num).n2 = XPNIterator.Current.Value
Case "l3"
simpt(num).n3 = XPNIterator.Current.Value
End Select
num += 1
Loop While XPNIterator.Current.MoveToNext 'К следующему потомку
Loop While XPNIterator.Current.MoveToNextAttribute 'К следующему атрибуту
End While
Catch ex As Exception
MsgBox(ex.Message)
End Try
структура файла такова:
<Razdel>
<group name="1">
<simp name="1" l1="1" l2="1" l3="1">
<simp name="2" l1="2" l2="2" l3="2">
</group>
<group name="2">
и так далее...
</Razdel>
Так вот, как указать, что мне нужны только потомки из group с заданным аттрибутом name?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #1
Добавлено: 15.04.08 11:01
{
// ...
Razdel/group/simp
// ...
}
http://aleksey.nemiro.ru/Programming/Framework-NET/XML-Visual_Basic_NET.nspx
Номер ответа: 2
Автор ответа:
VoVaN
ICQ: 4921085
Вопросов: 27
Ответов: 38
Профиль | | #2
Добавлено: 15.04.08 13:25
сенк ю вери мач!