Чтение XML-файла и сохранение данных в столбцах таблицы SQL с помощью c # - PullRequest
0 голосов
/ 29 октября 2018

Я хочу прочитать следующий файл и прочитать и сохранить тег по значению вкладки в столбце таблицы SQL. ниже мой xml файл. Я делаю это в MVC.

XMl FILE:

    <?xml version="1.0" encoding="UTF-8"?>
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.009.001.01">
        <MndtInitnReq>
            <GrpHdr>
                <MsgId>10005226074</MsgId>
                <CreDtTm>2018-10-23T15:20:56</CreDtTm>
                <InstgAgt>
                    <FinInstnId>
                        <ClrSysMmbId>
                            <MmbId>ARTD0211860</MmbId>
                        </ClrSysMmbId>
                        <Nm>ATEST BANK</Nm>
                    </FinInstnId>
                </InstgAgt>
                <InstdAgt>
                    <FinInstnId>
                        <ClrSysMmbId>
                            <MmbId>40123424</MmbId>
                        </ClrSysMmbId>
                        <Nm>test t CO-OP. BANK LTD</Nm>
                    </FinInstnId>
                </InstdAgt>
            </GrpHdr>
        </MndtInitnReq>
    </Document>

1 Ответ

0 голосов
/ 29 октября 2018

Вам необходимо десериализовать XML в тип c #, затем вставить этот объект в базу данных, используя entityframework

Сначала создайте класс C # (Model), представляющий вашу XML-схему, и пометьте его как сериализуемый. Вы можете легко сделать это, создав новый класс, назовем его, например, TestClass и скопируйте ваш XML-файл в буфер обмена (Ctrl + A, Ctrl + C) и в Visual Studio перейдите в меню «Правка» и выберите «Специальная вставка» -> «Вставить XML как классы».

// open a stream containing the file content (the XML) using stream reader
FileStream ReadFileStream = new FileStream(<YOURFILELOCATION>, FileMode.Open, FileAccess.Read, FileShare.Read);

// Create a new XmlSerializer instance with the type of the test class
XmlSerializer SerializerObj = new XmlSerializer(typeof(TestClass));

// Load the object saved above by using the Deserialize function
TestClass LoadedObj = (TestClass)SerializerObj.Deserialize(ReadFileStream);

затем с помощью EntityFramework вы можете сохранить этот объект C # в базу данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...