Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как построить правильную XML Schemу 
:(
    Опции темы
Injener
Дата 29.10.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 6.10.2006
Где: СПб

Репутация: нет
Всего: 1



Пишу такой код:
Код

DataTable dt1 = new DataTable("table1");
    dt1.Columns.Add("column1", typeof(string));
    dt1.Columns.Add("column2", typeof(string));

    DataTable dt2 = new DataTable("table2");
    dt2.Columns.Add("column1", typeof(string));
    dt2.Columns.Add("column2", typeof(string));
    dt2.Columns.Add("column3", typeof(string));

    ds = new DataSet();
    ds.Tables.Add(dt1);
    ds.Tables.Add(dt2);
    ds.Relations.Add(new DataRelation("relationship", dt1.Columns[0], dt2.Columns[0]));

    DataRow row1 = ds.Tables[0].NewRow();
    row1["column1"] = "r1c1";
    row1["column2"] = "r1c2";
    ds.Tables[0].Rows.Add(row1);

    row1 = ds.Tables[1].NewRow();
    row1["column1"] = "r1c1";
    row1["column2"] = "r1c2";
    row1["column3"] = "r1c3";
    ds.Tables[1].Rows.Add(row1);

    ds.WriteXml("b.xml");


после этого получаеться след файл

b.xml
Код

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <table1>
    <column1>r1c1</column1>
    <column2>r1c2</column2>
  </table1>
  <table2>
    <column1>r1c1</column1>
    <column2>r1c2</column2>
    <column3>r1c3</column3>
  </table2>
</NewDataSet>


а мне надобно вот так:
Код

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <table1 column2="r1c2">
    <table2 column2="r1c2" column3="r1c3" />
  </table1>
</NewDataSet>


ну или на худой конец вот так:

Код

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <table1>
    <table2>
      <column2>r1c2</column2>
      <column3>r1c3</column3>
    </table2>
    <column2>r1c2</column2>
  </table1>
</NewDataSet>


подскажите, плз, какие параметры у датасета настроить надобы, и можно ли это сделать

заранее благодарен
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
Wanderer2019
Дата 29.10.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



нутк не запаривайся раз не знаешь как строить это все руками.

исходя из твоей структуры данных xml-ник получается вполне корректным.

как может быть объект table внутри другого table? так что там все верно.

Для того, чтобы создать свою структуру данных. 
Начни создавать все со схемы.
Заходишь в студию - создать- новый - файл. Выбираешь xsd. 
Рисуешь нужную тебе схему.

Далее запускаешь прилагаемую к сутдии утилитку xsd с параметром /c и она выплевывает тебе класс, описывающий твою схему.


PM ICQ MSN   Вверх
Injener
Дата 29.10.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 6.10.2006
Где: СПб

Репутация: нет
Всего: 1



Wanderer2019, спасибо за совет

а можно как нить непосредственно в студии генерить этот класс, или обязательно из командной строки - вручную?
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
Wanderer2019
Дата 29.10.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



Injener, 
как прямо из студии я не знаю...

Запускаешь коммандную строку СТУДИИ(!) и так вся команда в 3 слова...
PM ICQ MSN   Вверх
alik_voodoo
Дата 29.10.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 31.10.2006

Репутация: нет
Всего: нет



Если интересует не структура самого документа XML, а именно XML Shema, как написано в название топика (как уже было сказанно выше, с неё то и надо начинать), то есть прекрассный метод WriteXmlSchema который сформирует для тебя необходимую (по его мнениюsmile ) схему для твоего DataSet, далее берёшь эту сгенерированную схему и ручками ковыряешь в ней, до тех пор пока не наковыряешь то, что тебе конкретно нужно, дальше грузишь то что получилось в датасет (ReadXmlSchema) и наполняешь его необходимыми данными.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.