Как прочитать и загрузить XML-файл с вложенными тегами в DataTable без исключения DuplicationNameException?C#

Место общения программистов C#
Ответить
Anonymous
 Как прочитать и загрузить XML-файл с вложенными тегами в DataTable без исключения DuplicationNameException?

Сообщение Anonymous »

Как прочитать и загрузить XML-файл с вложенными тегами в DataTable без исключения DuplicationNameException?
Мне нужно прочитать и загрузить XML-файл, содержащий более 600 000 строк, чтобы обновить таблицу в базе данных. В файле есть два основных тега, разделяющих объекты:
  • : этот тег связывает несколько элементов , перечисленных в , с определенным .
  • : этот тег содержит конкретные характеристики каждого . Некоторые из этих атрибутов ссылаются на другие как на связанные характеристики.
    Проблема возникает во второй части файла (), где есть повторяющийся тег . Этот тег появляется как в основном теге , так и в его «дочернем» теге , который содержит список связанных .

Код: Выделить всё


...



ATT_8838
Destinação 4814
Destinação
LISTA_ESTATICA
2023-11-06



1
Revestimento de parede


2
Papel para vitrais


999
Outros (especifique)




7
Produto


> first

RECEITA

true

true
false
2023-11-06

 'ATT_8838' Igual '999'

==
999


ATT_8682
Especifique destinação 5897
Especifique destinação
TEXTO
70
true
false
2023-11-06




7
Produto


> here is the error

RECEITA

false





> More like the above

При попытке загрузить эту структуру в набор данных я получаю следующее исключение:
$Exception {"Невозможно добавить столбец с именем "orgao" : вложенная таблица с таким же именем уже принадлежит этому DataTable."} System.Data.DuplateNameException.

Код: Выделить всё

public string LerArq(string pathXML)
{
DataSet dsXml = new DataSet();
string sResult = string.Empty;

if (!string.IsNullOrEmpty(pathXML) &&  File.Exists(pathXML))
{
try
{
dsXml.ReadXml(pathXML);
}
catch (Exception e)
{
}
}

return sResult;
}
Как решить эту проблему и правильно загрузить XML-файл в набор данных без конфликтов, вызванных повторяющимися именами столбцов?
Есть ли другой способ обрабатывать XML?
Я уже пробовал загрузить XML в набор данных, но у меня недостаточно опыта манипулирования XML или обработки файла, чтобы обойти эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/792 ... hout-dupli
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»