Набор данных .NET C # WriteXml включает / исключает столбцы и добавляет пространство имен - PullRequest
1 голос
/ 09 января 2012

У меня есть следующий фрагмент кода:

if (SqlConnection.State == ConnectionState.Open)
{
    using (SqlDataAdapter RequestDataAdapter = new SqlDataAdapter("Select * From RequestTabel", SqlConnection))
    {

        DataSet RequestDataSet = new DataSet("Requests");
        RequestDataAdapter.FillSchema(RequestDataSet, SchemaType.Source, "RequestTabel");
        RequestDataAdapter.Fill(RequestDataSet, "RequestTabel");

        DataTable RequestDataTable;
        RequestDataTable = RequestDataSet.Tables["RequestTabel"];

        RequestDataSet.WriteXml(@"C:\temp\MyDataset.xml");
    }
}

Это считывает содержимое таблицы (базы данных) в DataSet, после завершения чтения она записывает в файл XMl.

Моя проблема:

  • Не все столбцы должны попадать в файл XMl, как я могу исключить / включить столбцы?

  • XML, которыйWriteXml делает не включает в себя пространство имен, как я могу добавить это?

Я вынужден открыть файл XML после WriteXml, чтобы добавить пространство имен?

  • Можно ли создать xml, используя xsd ??

Редактировать: скорректировать имя пути:)

Ответы [ 2 ]

4 голосов
/ 09 января 2012

Измените свой выбор на select COL_1, COL_2, COL_4 from RequestTable.

----- Это рано утром или так написано за столом ??

2 голосов
/ 09 января 2012

Что касается 1: измените SELECT, чтобы выбрать только нужные столбцы, вы даже можете переименовать столбцы на лету, используя AS для определения псевдонима.

Что касается 2: DataSet и DataTable, оба имеют свойство с именем Namespace (для свойства DataTable см. здесь ), который вы можете установить.

...