' Сохранение данных в XML-файле.
dsEmployees.WriteXml("..\Employees.xml")
End Sub
В этом коде для сохранения данных из таблиц tblDepartment и tblEmployee в XML-файле используются предлагаемые по умолчанию параметры объекта DataSet. Полученный в результате XML-файл Employees.xml показан в листинге 10.10.
Листинг 10.10. XML-файл Employees. xml, полученный в результате сохранения данных из таблиц tblDepartment и tblEmployee
1
Administration
2
Engineering
3
Sales
4
Marketing
1
Carole
Vermeren
2
222
2
Cathy
Johnson
2
13000
3
Eric
Haglund
4
12000
4
Julie
Ryan
1
4000
5
Richard
Halpin
2
10000
6
Kathleen
Johnson
3
18000
7
Sorel
Polito
4
28000
8
Sorel
Terman
1
8000
9
Randy
Hobaica
2
18000
10
Matthew
Haglund
3
30000
11
Cathy
Vermeren
4
0
12
Brad
Townsend
2
12000
13
Jennifer
Eves
2
26000
14
Steve
Marshall
3
42000
15
Laura
Davidson
4
60000
16
Angela
Stefanac
2
16000
17
Marjorie
Bassett
2
34000
18
Joe
Chideya
3
54000
19
Katie
Chideya
4
76000
20
Terri
Allen
1
20000
21
Mike
Doberstein
2
42000
22
Terri
Woodruff
3
66000
23
Cathy
Rosenthal
4
0
24
Margaret
Eves
1
24000
25
Mikki
Lemay
2
50000
26
Randy
Nelson
3
78000
27
Kathleen
Husbands
4
108000
28
Kathleen
Eberman
1
28000
29
Richard
Rosenthal
2
58000
30
Mike
Woodruff
3
90000
К сожалению, данный XML-файл содержит список сотрудников, который не сгруппирован по отделам. Несмотря на созданное отношение между родительской таблицей tblDepartment и дочерней таблицей tblEmployee полученный XML-файл содержит данные отдельно для каждой таблицы. Для вложения дочерних элементов из таблицы tblEmployee в родительские элементы из таблицы tblDepartment нужно указать значение True для свойства Nested объекта-отношения Relation.
dsEmployees.Relations("DepartmentEmployees").Nested = True
После вставки этой строки кода перед строкой сохранения данных
dsInventory.WriteXml("..\Inventory.xml", XmlWriteMode.WriteSchema)
будет получен XML-файл Employees.xml, показанный в листинге 10.11.
Листинг 10.11. XML-файл Employees.xml с вложением дочерних элементов из таблицы tblEmployee в родительские элементы из таблицы tblDepartment
1
Administration
2035
Julie
Ryan
1
4000
2039
Sorel
Terman
1
8000
2051
Terri
Allen
1
20000
2055
Margaret
Eves
1
24000
2059
Kathleen
Eberman
1
28000
2
Engineering
2032
Carole
Vermeren
2
222
2033
Cathy
Johnson
2
13000
2036
Richard
Halpin
2
10000
2040
Randy
Hobaica
2
18000
2043
Brad
Townsend
2
12000
2044
Jennifer
Eves
2
26000
204V
Angela
Stefanac
2
16000
2048
Marjorie
Bassett
2
34000
2052
Mike
Doberstein
2
42000
2056
Mikki
Lemay
2
50000
2060
Richard
Rosenthal
2
58000
3
Читать дальше