Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Api XML из страницы в базу данных / 4 сообщений из 4, страница 1 из 1
12.08.2019, 12:00
    #39848213
Jonsnow
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Api XML из страницы в базу данных
Всем доброго времени суток.

Обращаюсь с такой проблемой.
Через php подключаюсь к АPI и вывожу данные на страницу.
Данные выводятся как обычный текст, но когда нажимаю посмотреть код страницы то там высветливается XML формат.


И необходимо добавить это в базы данных MSSQL желательно сразу данные по столбцам. но было бы хорошо хотябы в один столбец XML данные, уже через MSSQL парсировать буду..


Пишу подробнее:

Вообщем написал sql Код который парсирует данные и вставляет их в таблицу, но статический по типу:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
DECLARE @FileNameDaneSzukajPodmioty nvarchar(255)
    SET @FileNameDaneSzukajPodmioty = N'E:\DaneSzukajPodmioty.xml'
DECLARE @xml XML
DECLARE @xmlload nvarchar (300)
 
CREATE TABLE DaneSzukajPodmioty_TABLE(
    Numer INT NOT NULL,
    Regon [varchar](14),
    Nip [varchar](10),
    StatusNip [varchar](50),
    Nazwa [varchar](2000),
    Wojewodztwo [varchar](200),
    Powiat [varchar](200),
    Gmina [varchar](200),
    Miejscowosc [varchar](200),
    KodPocztowy [varchar](12),
    Ulica [varchar] (200) ,
    NrNieruchomosci [varchar](20) ,
    NrLokalu [varchar] (10) ,
    Typ [varchar] (2) ,
    SilosID [varchar] (20) ,
    DataZakonczeniaDzialalnosci [varchar] (10)
 
CONSTRAINT [DSP_PK] PRIMARY KEY ([Numer])
 
)
 
    SET @xmlload = N'
SELECT @xml = CAST(MY_XML AS XML)
    FROM OPENROWSET(BULK N'''+ @FileNameDaneSzukajPodmioty + ''', SINGLE_BLOB) T(MY_XML)'
    EXEC sp_executesql @xmlload, N'@xml xml output', @xml=@xml output
INSERT INTO DaneSzukajPodmioty_TABLE (Numer, Regon, Nip, StatusNip, Nazwa,Wojewodztwo,Powiat,Gmina,Miejscowosc,KodPocztowy,Ulica,NrNieruchomosci,NrLokalu,Typ,SilosID,DataZakonczeniaDzialalnosci)
SELECT
   ROW_NUMBER() OVER(ORDER BY 1/0) as Numer,
    t.dsp.value('(Regon/text())[1]', 'VARCHAR(14)'),
    t.dsp.value('(Nip/text())[1]', 'VARCHAR(10)'),
    t.dsp.value('(StatusNip/text())[1]', 'VARCHAR(50)'),
    t.dsp.value('(Nazwa/text())[1]', 'VARCHAR(2000)'),
    t.dsp.value('(Wojewodztwo/text())[1]', 'VARCHAR(200)'),
    t.dsp.value('(Powiat/text())[1]', 'VARCHAR(200)'),
    t.dsp.value('(Gmina/text())[1]', 'VARCHAR(200)'),
    t.dsp.value('(Miejscowosc/text())[1]', 'VARCHAR(200)'),
    t.dsp.value('(KodPocztowy/text())[1]', 'VARCHAR(12)'),
    t.dsp.value('(Ulica/text())[1]', 'VARCHAR(200)'),
    t.dsp.value('(NrNieruchomosci/text())[1]', 'VARCHAR(20)'),
    t.dsp.value('(NrLokalu/text())[1]', 'VARCHAR(10)'),
    t.dsp.value('(Typ/text())[1]', 'VARCHAR(2)'),
    t.dsp.value('(SilosID/text())[1]', 'VARCHAR(20)'),
    t.dsp.value('(DataZakonczeniaDzialalnosci/text())[1]', 'VARCHAR(10)')
   FROM @xml.nodes('root/dane') t(dsp)
/*----------------------------------------------------------------------------------------------------------*/
SELECT * FROM DaneSzukajPodmioty_TABLE
/*----------------------------------------------------------------------------------------------------------*/




Файл E:\DaneSzukajPodmioty.xml содержит :


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<root>
  <dane>
    <Regon>номер..</Regon>
    <Nip>номер...</Nip>
    <StatusNip />
    <Nazwa>название</Nazwa>
    <Wojewodztwo>название</Wojewodztwo>
    <Powiat>название</Powiat>
    <Gmina>название</Gmina>
    <Miejscowosc>название</Miejscowosc>
    <KodPocztowy>номер..</KodPocztowy>
    <Ulica>улица</Ulica>
    <NrNieruchomosci>номер</NrNieruchomosci>
    <NrLokalu />
    <Typ>название</Typ>
    <SilosID>номер</SilosID>
    <DataZakonczeniaDzialalnosci />
  </dane>
<root>





Но нужно это делать динамический, в этом случае подключаюсь к апи через php и вывожу информацию на страницу, получаю вот что:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<root>
  <dane>
    <Regon>номер..</Regon>
    <Nip>номер...</Nip>
    <StatusNip />
    <Nazwa>название</Nazwa>
    <Wojewodztwo>название</Wojewodztwo>
    <Powiat>название</Powiat>
    <Gmina>название</Gmina>
    <Miejscowosc>название</Miejscowosc>
    <KodPocztowy>номер..</KodPocztowy>
    <Ulica>улица</Ulica>
    <NrNieruchomosci>номер</NrNieruchomosci>
    <NrLokalu />
    <Typ>название</Typ>
    <SilosID>номер</SilosID>
    <DataZakonczeniaDzialalnosci />
  </dane>
<root>


По факту такое же, только необходимо эту информацию через php втянуть в базу данных

Вот вся проблема.


Не знаю верно ли выбрал форум, но если что не так, то извините...=(
...
Рейтинг: 0 / 0
12.08.2019, 12:10
    #39848221
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Api XML из страницы в базу данных
Открою тебе страшную тайну: PHP умеет подключаться к MS SQL и вызывать процедуры/выполнять запросы.
...
Рейтинг: 0 / 0
12.08.2019, 14:19
    #39848322
Jonsnow
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Api XML из страницы в базу данных
aleks222,

Я это понимаю, пробую делать, но не получается:(
Не понимаю как данные со страницы запихнуть в какую-нибудь переменную
...
Рейтинг: 0 / 0
12.08.2019, 18:05
    #39848474
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Api XML из страницы в базу данных
JonsnowНе понимаю как данные со страницы запихнуть в какую-нибудь переменнуюТак спросите на форуме по PHP, при чём тут сиквел?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Api XML из страницы в базу данных / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]