Я последовал этому SO ответу , чтобы превратить приведенную ниже структуру XML в набор данных.
<?xml version="1.0" encoding="UTF-8"?>
<data>
<child1>
<to>alice@mail.com</to>
<from>bob@mail.com</from>
<name>alice alicia</name>
</child1>
<child2>
<file>
<size>123</size>
<content>lorem ipsum</content>
</file>
</child2>
</data>
В наборе данных получилось 3 таблицы:
- таблица child1 с 3 столбцами (имя, от, до).
- таблица child2 с 1 столбцом (файл).
- файл таблицы с 2 столбцами (размер, содержимое).
В конце я хочу иметь только 1 таблицу с 5 столбцами (по, имени, размеру, содержанию).
Могу ли я использовать схему для разработки способа, которым ReadXml в DataSet интерпретирует xml в желаемую таблицу? И если да, то как будет выглядеть такая схема?
Я подумал о еще 2 решениях, хотя я меньше предпочитаю их, потому что они требуют ручной обработки, которая, на мой взгляд, обходится дорого при обработке многих xmls:
- Изменение набора данных после чтения xml, объединение трех таблиц в одну и удаление ненужного столбца (файла).
- Редактирование xml вручную перед вызовом метода ReadXml в DataSet.