Как указать формат вывода XML при записи из DataTable?

голоса
3

В C #, я создаю файл XML из DataTable с помощью dataTable.WriteXml (Filepath) и получим следующее:

<?xml version=1.0 encoding=utf-8 ?>
<ExperienceProfiles>
  <ExperienceProfile>
    <Col1>blah</Col1>
    <Col2>4ed397bf-a4d5-4ace-9d44-8c1a5cdb0f34</Col2>
  </ExperienceProfile>
</ExperienceProfiles>

Как я могу получить его, чтобы написать XML в следующем формате ?:

<?xml version=1.0 encoding=utf-8 ?>
<ExperienceProfiles>
  <ExperienceProfile Col1=blah
    Col2=blah ></ExperienceProfile>
</ExperienceProfiles>
Задан 10/12/2008 в 00:03
источник пользователем
На других языках...                            


3 ответов

голоса
5

То, что вы хотите какой-то способ рассказать DataSet ожидаемый формат данных. Вы находитесь в удаче, то DataSet поддерживает только эту функцию.

Вам нужно будет создать XML-схему для ваших данных и загрузить его в DataSet, прежде чем выписывать XML. В схеме определяют Col1 и Col2 как атрибуты элемента ExperienceProfile и DataSet будет знать формат выходного документа соответствует требованиям, указанным в схеме.

Если вы не знакомы с создания схемы можно создать образец XML файл так, что вы хотите, чтобы быть отформатирован, то посмотрите на класс XmlSchemaInference в рамках. Этот класс может быть использован для автоматического создания вашей схемы, вам может потребоваться настроить выходной сигнал немного, но это может помочь, если вы не знакомы с XSD.

Ответил 10/12/2008 в 00:30
источник пользователем

голоса
4

Вы можете использовать функцию ColumnMapping из DataTable колонки. ,

column.ColumnMapping = MappingType.Attribute
Ответил 22/09/2009 в 09:59
источник пользователем

голоса
0

Короткий ответ: вы не можете, используя метод WriteXml в виде DataTable.

Длинный ответ (не очень долго): Просто свернуть свой собственный.

Отвод мой ответ, как указано выше :)

Ответил 10/12/2008 в 00:18
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more