powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Модификация XML в датасете.
25 сообщений из 25, страница 1 из 1
Модификация XML в датасете.
    #34872279
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью каких методов можно в датасете модифицировать XML?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34872472
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас можно поучится тонкой науке формулировать вопросы.
что вы имеете в виду?
у вас в каком-то поле xml?
или что-то другое?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34873047
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, есть датасет, в нем таблица, в таблице поле XMLReader (не уверен что именно оно должно быть. Но я взял пока его. Таблицу датасета создаю вручную). Таблица читается из БД.
Соответственно, имеем
Dataset.Tables[0].Rows[0][0] - это XML в виде XMLReader, насколько я понимаю. Как мне из этого поля вытащить параметры, модифицировать их и скинуть обратно в датасет.

Вообщем проще говоря, есть таблица в БД (MS SQL Server 2005) такого вида:
ID: INT
DOC: XML

XML такого вида
<X>21</X>
<Y>23</Y>

Есть датасет, таблицы в котором создаю вручную (прописываю все поля таблицы и их типы).
1. Какого типа должно быть поле в дата таблице под XML поле базы данных
2. Как вытащить значение параметров X и Y из датасета!!! чтобы вывести например в Editbox, там из изменить, и модифицировать датасет опять.
Как скинуть изменения в БД уж разберусь )
Спасибо за ответы ). Ситуация для меня почти тупиковая. Близится сдача проекта, а я даже не знаю с чем это съесть
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34873972
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор виде XMLReader

в виде String они там будут
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34873982
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как с ним работать? Почему в виде string? Есть тип XMLDocumen
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874019
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeepJКак с ним работать?

Код: plaintext
1.
XmlDocument doc = new XmlDocument();
doc.LoadXml(Dataset.Tables[ 0 ].Rows[ 0 ][ 0 ].ToString());

DeepJПочему в виде string?
потому

DeepJ Есть тип XMLDocumen
и?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874062
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть поле в dadaset мне надо объявить типа string?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874101
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
послушайте, я не пойму, что вам мешает
1. создать тестовую табличку на сервере с полем типа xml
2. создать тестовое приложение с таким кодом

Код: plaintext
1.
2.
3.
4.
 SqlConnection conn = new SqlConnection("Data Source=server;Integrated Security=True;Initial Catalog=db");
            DataSet ds = new DataSet();
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM test_xml_data_drop_me",conn);
            adapter.FillSchema(ds,SchemaType.Source);
            MessageBox.Show(ds.Tables[ 0 ].Columns[ 0 ].DataType.ToString());

?
у меня это заняло 5 минут.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874344
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как записать тестовый XML в БД?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874401
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeepJКак скинуть изменения в БД уж разберусь )
?
не получилось?
в BOL-е есть примеры, мне кажется...
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874464
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через management studio это сделать можно?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874664
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы можете четко написать - что у вас не получается?

авторЧерез management studio
ну можно в ней выполнить
Код: plaintext
INSERT [yourTable] ([xmlField]) VALUES ('yourXMLData')

насклоько я помню, через "Open Table " нельзя, могу ошибаться, проверять мне лень.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874721
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполняю
XmlDocument doc = new XmlDocument();
doc.LoadXml(Dataset.Tables[0].Rows[0][0].ToString());

Документ у меня такой:
<?xml version=\"1.0\"?>
<X>21</X>
<Y>25</Y>

Как из объекта doc вытащить параметры X & Y.
1. Вообще проще говоря мне бы как нибудь десеариализовать XML, тк есть класс:
class PARAMS
{
public int X;
Public int Y;
}

2. Затем я в классе меняю X & Y, сериализую класс в XML документ и кидаю в датасет.

Как сделать пункт 1 и 2?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874861
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам не кажется, что ваши вопросы выходят за пределы темы топика?

короче - rtfm.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874939
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам не кажется, что Вы начинаете нервничать?
Нет, мои вопросы не выходят за пределы топика, так как я так и не получил ответ на поставленный вопрос.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34874955
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВы начинаете нервничать
?
бу-га-га.

автор поставленный вопрос

этот:

авторС помощью каких методов можно в датасете модифицировать XML?

еще раз - бу-га-га.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875009
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рад, что Вы умеете смеяться над собой. :)
Но дело не в этом.
Почему если я записываю следущее в БД:
<?xml version="1.0"?> <X>22</X> <Y>26</Y>
то в датасете получаю <X>22</X> <Y>26</Y> без заголовка
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875059
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
непонятно, опять же в чем проблема с сериализацией класса
во что вы там уперлись?

т.е., как я понял вам нужно следующее -

1.читаем xml из бд
2.получаем на основе этого xml экземпляр вашего класса
3.что-то в классе меняем
4. получаем xml из экземпляра класса
5. записываем этот xml в бд


на каком этапе у вас затык?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875247
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все сделал). Работает.
Спасибо! Единственное, что не понял - где же это поддержка XML, если в датасете хранится все-равно как string. Ну да это не важно.
Вопрос остался последний:
param = new SqlParameter("@PalmParams", SqlDbType.Xml, 300, "PalmParams");
Таким образом я объявляю параметр для команды. Ну да это обычно. Параметр этот - тот самый XML. Но какую длину указывать для него, то есть вместо числа 300?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875277
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторгде же это поддержка XML
на стороне сервера
авторесли в датасете хранится все-равно как string
странно, что вы ожидаете поддержку в датасете...
авторкакую длину указывать для него
просто не указывайте.
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875345
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не указывать нельзя - нету конструктора параметра, который не принималь бы длину. Просто мне надо параметр еще с колонкой связать...

Вопрос еще один всплыл: может ли параметр XML в базе данных быть внешним ключом (параметр ссылается на др. табл.)
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875429
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе указывать нельзя
ага...

Код: plaintext
1.
2.
3.
SqlParameter par = new SqlParameter();
                par.ParameterName = "@PalmParams";
                par.SqlDbType = SqlDbType.Xml;
                par.SourceColumn = "PalmParams";
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34875442
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторXML в базе данных быть внешним ключом
не пробовал,
что мешает опять же вам попробовать - непонятно.

но это гайки...
значит где-то он предполагается как PK?
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34879768
DeepJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет. Параметр в XML будет браться из другой таблицы, из "нормального поля"
...
Рейтинг: 0 / 0
Модификация XML в датасете.
    #34880094
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeepJНет. Параметр в XML будет браться из другой таблицы, из "нормального поля"
а это как, можете DDL показать?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Модификация XML в датасете.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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