Цель состоит в том, чтобы заполнить набор данных из XML, отсортировать одну из таблиц данных, а затем записать отсортированный набор данных обратно в XML.
Не получается отсортировать мой набор данных, и я попробовал несколько вариантов. Он добавляет данные в порядке, но не сортирует. Надеюсь, кто-нибудь поможет мне вырвать мои волосы.
DataSet dsXml = new DataSet();
dsXml.ReadXml(msXml);
DataTable tbl;
// Read DataTable.
tbl = dsXml.Tables["cj"];
// Set Primary Key
tbl.PrimaryKey = new DataColumn[] { tbl.Columns["a"] };
DataView dtView = tbl.DefaultView;
DataRow foundRow = tbl.Rows.Find(findCookiejarId);
tbl.Rows.Add(addRow);
dtView.ToTable().Sort = "a ASC";
StringWriter sw = new StringWriter();
dsXml.WriteXml(sw);
UPDATE
Теперь он удаляет другие таблицы из набора данных. Вот как должен выглядеть xml:
<user_data>
<settings>
<a></a>
<b></b>
<c></c>
</settings>
<perms>
<a></a>
<b></b>
<c></c>
</perms>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
</user_data>
И это выглядит так, удаляя другие таблицы, но сортировка работает нормально:)
</DocumentElement>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
<cj>
<a></a>
<b></b>
<c></c>
</cj>
</DocumentElement>
Как я могу использовать C # для сортировки только DataTable cj
, а затем записать весь DataSet обратно в XML? settings
и perms
должны остаться нетронутыми.