|
|
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
допустим, на примере таблицы из Northwind, получил я xml из таблицы Employees автор Select * From Northwind.dbo.Employees for XML AUTO,TYPE авторMicrosoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 6.0 (Build 6002: Service Pack 2) получился такой xml: автор<Northwind.dbo.Employees EmployeeID="1" LastName="Davolio" FirstName="Nancy" Title="Sales Representative" TitleOfCourtesy="Ms." BirthDate="1948-12-08T00:00:00" HireDate="1992-05-01T00:00:00" Address="507 - 20th Ave. E. Apt. 2A" City="Seattle" Region="WA" PostalCode="98122" Country="USA" HomePhone="(206) 555-9857" Extension="5467" Photo="dbobject/Northwind.dbo.Employees[@EmployeeID='1']/@Photo" Notes="Education includes a BA in psychology from Colorado State University in 1970. She also completed "The Art of the Cold Call." Nancy is a member of Toastmasters International." ReportsTo="2" PhotoPath="http://accweb/emmployees/davolio.bmp" /> ...................... далее в датасете мастером создал Дататэйбл Employees Теперь как мне его заполнить побыстрее? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Как-то можно избавится от этого перечисления полей? row["Employees"] = Convert.ToInt32(tmp.GetAttribute("Employees", "")); row["LastName"] = Convert.ToString(tmp.GetAttribute("LastName", "")); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2010, 16:02 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
а ReadXml не катит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 18:55 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
возвращаюсь к старому проекту. Как указывать Read Xml'у, как именно считывать даные в xml ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 12:33 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Erik_Kartmann Код: plaintext 1. Это невалидный xml, ибо в документе будут существовать несколько корневых узлов. Используйте такой код: Код: plaintext 1. xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 12:54 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
А как его можно научить произвольному xml'ю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 14:03 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Erik_KartmannА как его можно научить произвольному xml'ю ? Никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 14:14 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
А аналоги есть так, как я хочу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 14:45 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
1. Вам кто-то запрещает писать правильный валидный xml ? 2. Не хотите придерживаться правил - парсите xml руками как обычный текст . 3. С тем, что Вы написали, ни один XPathDocument, не тоб что DataTable, не будет работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 14:55 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
МСУ1. Вам кто-то запрещает писать правильный валидный xml ? 2. Не хотите придерживаться правил - парсите xml руками как обычный текст . 3. С тем, что Вы написали, ни один XPathDocument, не тоб что DataTable, не будет работать Документ того вида, где "for XML AUTO,TYPE" уже вошёл в оборот. 3. через это оно сейчас работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 16:04 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Erik_KartmannДокумент того вида, где "for XML AUTO,TYPE" уже вошёл в оборот. - Наркотрафик уже вошёл в оборот в Росиии - Что делать: бороться и искоренять или забить? Подумайте над этим на досуге. Erik_Kartmannчерез это оно сейчас работает. Что "оно"? Где работает? Как работает? Работает - это не значит "правильно работает" Erik_Kartmannчерез это оно сейчас работает. Ну так и "работайте" дальше, зачем на форум тогда обратились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 16:12 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
интерисует "цивильная" возможность добавления в датасет. Следовательно моя задача сводится к конвертированию ХМЛа в Б-гоугодный вид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 16:16 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Erik_Kartmannинтерисует "цивильная" возможность добавления в датасет. Чтобы "цивильно" добавлять в датасет, нужно "цивильно" составлять xml. P.S. Говорю же: в Вашем распоряжении все прелести ручного парса средствами регекспа. Наслаждайтесь. Erik_KartmannСледовательно моя задача сводится к конвертированию ХМЛа в Б-гоугодный вид. Ну если то, что генерит for XML AUTO,TYPE можно назвать xml'ем, то да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 16:27 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Вот Вам самый дешевый способ, не мучайтесь :) Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 16:40 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
А как ReadXml'ю давать несколько таблиц, всязаных ключами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 09:38 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Я имею ввиду, как по правилам валидности в одноми том же хмле хранить несколько связанных таблиц, чтобы потом не было подобных сюрпризов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 11:25 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
Erik_Kartmann, такое ощущение что вы не читаете ответов кот. вам дают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 13:30 |
|
||
|
заполнить DataTable из xml
|
|||
|---|---|---|---|
|
#18+
авторCREATE TABLE Customers (CustomerID varchar(20) primary key, ContactName varchar(20), CompanyName varchar(20)) GO CREATE TABLE Orders( CustomerID varchar(20), OrderDate datetime) GO DECLARE @docHandle int DECLARE @xmlDocument nvarchar(max) -- or xml type SET @xmlDocument = N'<ROOT> <Customers CustomerID="XYZAA" ContactName="Joe" CompanyName="Company1"> <Orders CustomerID="XYZAA" OrderDate="2000-08-25T00:00:00"/> <Orders CustomerID="XYZAA" OrderDate="2000-10-03T00:00:00"/> </Customers> <Customers CustomerID="XYZBB" ContactName="Steve" CompanyName="Company2">No Orders yet! </Customers> </ROOT>' EXEC sp_xml_preparedocument @docHandle OUTPUT, @xmlDocument SELECT * FROM OPENXML(@docHandle, N'/ROOT/Customers') WITH Customers EXEC sp_xml_removedocument @docHandle[/quote] теперь совсем непонятно, каким майкрософт считает хмл "валидным". В ОпенХМЛе если в with'е таблицу прописываеш - по умолчанию атрибуты читает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2010, 12:16 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36675939&tid=1351179]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 448ms |

| 0 / 0 |
