Miguel Altamirano Morales Ответов: 1

Чтение XML - файла для заполнения таблицы SQL server


Привет, мир!!!, доброе утро.

Я пытаюсь решить проблему, с которой никогда раньше не работал, поэтому продвигаюсь немного медленно, и мне бы очень хотелось сэкономить время, если кто-то даст мне подсказку или ответ или укажет конкретное место для проверки.

Мне нужно прочитать XML - файл и обновить оттуда таблицу sql server. Одно из полей таблицы является xml-типом, поэтому мне нужно зарегистрировать весь xml-файл, который я поддерживаю; другие-это определенные части xml-файла, такие как UUID и дата штампа XML-файла электронного счета-фактуры.

Большое спасибо заранее.

Что я уже пробовал:

Я искал в интернете и пробовал некоторые советы, которые я нашел, и проверял старые программы, которые я сделал, но я все еще не достиг того, что мне нужно.

CHill60

Недостаточно информации.

Miguel Altamirano Morales

Эта тема будет звучать так: как прочитать XML-файл, зарегистрировать его в XML-поле типа таблицы SQL Server и изолировать определенные его части, чтобы они тоже были зарегистрированы в той же таблице, но в полях строкового типа.
Мне нужна дата штампа электронного счета-фактуры и UUID отдельно.

Большое спасибо.

1 Ответов

Рейтинг:
11

RickZeeland

Может быть, вы можете использовать LINQToXML, вот некоторые примеры в C# и VB.NET: Учебники LINQ To XML с примерами | DotNetCurry[^]


Miguel Altamirano Morales

Спасибо, Рик, я проверю, что ты предлагаешь.

Miguel Altamirano Morales

Привет Рик: я закончил тем, что сделал следующее: Я добавил набор данных в свой проект и использовал команду ReadXML для его заполнения; я увидел, что он содержит несколько таблиц внутри, поэтому я просто нашел те, которые содержат необходимую мне информацию (узлы и элементы), и взял ее оттуда.

Чтобы зарегистрировать весь XML-файл в XML-поле типа таблицы Sql server, я создал новый XMLDocument и взял его свойство InnerXml, изменив его на string; затем я удалил информацию о кодировке utf-8, которую он имел, потому что я получал ошибку "синтаксический анализ XML: невозможно переключить кодировку", и, наконец, я зарегистрировал эту переменную строкового формата в поле, даже если это поле типа xml.

Все это прекрасно работало, к счастью. Я подожду финального тестирования.

Во всяком случае, я с радостью приму то, что вы мне указали, потому что как программисту мне нужно знать все (или максимум того, что я могу) ресурсы, реально доступные в сетевых технологиях, или просто как интеллектуальное любопытство. Я не тороплюсь изучать этот предмет.

Надеюсь, я ясно выразился. Английский - не мой родной язык.

Я знаю, что это не первый раз, когда вы помогаете мне решить проблему, и я очень благодарен вам.

RickZeeland

Спасибо за ваши комплименты, похоже, вы добились хорошего прогресса !

Miguel Altamirano Morales

Ну, для меня это были несколько лет напряженной учебы. Мне было 56 лет, когда я впервые вошел в сетевую среду в 2006 году, когда я прошел три вводных курса. Ты даже не представляешь, как меня это потрясло и как мне пришлось напрячь мозги, чтобы понять это. Мы все знаем, что это та область, где, когда вы только что закончили изучать новую технологическую платформу, то появляется новая, которая делает устаревшей предыдущую, и теперь вам нужно изучать другую; иногда я начинаю чувствовать себя действительно ошеломленным.

У меня есть диплом по управлению предприятиями в Национальном университете в Мексике, но с моей первой работы, в 21 год, я поступаю в стажеры в качестве координатора по внедрению огромной вычислительной системы в автомобильной корпорации, поэтому я начинаю посещать курсы всего этого рода вещей, и мне очень понравилось; так или иначе, я видел там будущее, по крайней мере мое будущее.

Я научился программировать на Cobol и RPG, оттуда перешел на GWbasic, Quick Basic, VB 6.0, а затем на VB net; у меня также было изучение и работа с C#, C++, Natural, разработка HTML-веб-страниц, веб-сервисов, WCF, MVC. Если кто-то спросит меня, почему у меня нет сильного опыта в этих областях, ну, потому что я большую часть времени был нанят для работы с теми, кого я упомянул, а не с теми, кого я изучал (я сотрудничаю только несколько месяцев с C# и C++), но я действительно могу сказать, что я правильно достиг того, для чего меня наняли.

Я вышел на пенсию 4 года назад (сейчас мне 68 лет), но мне все еще нужно работать по экономическим причинам (я мексиканец, вы знаете); я провел два из этих лет без работы, так что все мои сбережения быстро ушли, и я решил использовать свое свободное время, чтобы лучше тренироваться. Я работал над проектом здесь, проектом там, и, слава Богу, в сентябре прошлого года меня наняли на постоянную работу в компанию рядом с моим домом, но со старой технологической системой, разработанной в Access. К счастью, я убедил их перенести всю систему на VB Net, но мне пришлось изучить старомодный доступ и его VBA.

Может быть, работа со старыми технологиями в течение многих лет оставила меня технологически позади, но вы не говорите своим клиентам: "Извините, я больше не буду работать с этими технологиями", не тогда, когда вам так нужны деньги.

Большое спасибо за ваши ответы, Рик; может быть, я уже говорил это раньше вам или кому-то из друзей этого портала.

Приветствую всех читателей.

RickZeeland

Кроме того, у меня тоже есть фон VB, и я до сих пор помню, как трудно было переключиться на C#, кроме того, мне пришлось переключиться с Access на SQL Server, что гораздо сложнее. Тем не менее меня удивляет, что в настоящее время многие люди все еще используют VB6 и Access, по крайней мере, судя по вопросам в Q&A.
О, и мексиканцы-не единственные, кому нужно работать после выхода на пенсию, я тоже слышал это от итальянского члена CodeProject :)

Miguel Altamirano Morales

надеюсь, мы снова будем в Контакте.