Marcin M.

Marcin M. pracownik

Temat: Jak uzyskać poporawny plik xml

Witam

Chciałem uzyskać plik xml z zapytania w jednej linijce.

SELECT XMLElement(„user”,
XMLAttributes(e.employee_id AS „ID”,
e.first_name||' '
||e.last_name AS „name”))
FROM hr.employees e
WHERE employee_id > 200;

zwracana wartość xml to jedna linijka

<user ID=„201”name=„Michael Hartstein”></user><user ID=„202” name=„Pat Fay”></user><user ID=„203” name=„Susan Mavris”></user><user ID=„204” name=„Hermann Baer”></user><user ID=„205”name=„Shelley Higgins”></user><user ID=„206” name=„William Gietz”></user>

chciałem uzyskać postać linijka po linijce.

<user ID=„201”name=„Michael Hartstein”></user>
<user ID=„202” name=„Pat Fay”></user>
<user ID=„203” name=„Susan Mavris”></user>
<user ID=„204” name=„Hermann Baer”></user>
<user ID=„205”name=„Shelley Higgins”></user><
user ID=„206” name=„William Gietz”></user>

Proszę o podpowiedz
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Łukasz Sawa

Łukasz Sawa BI Developer

Temat: Jak uzyskać poporawny plik xml

A na jakiej bazie ?

konto usunięte

Temat: Jak uzyskać poporawny plik xml

Ale po co? Plik XML nie ma "linijek". Potrzeba dane, to można użyć normalnego zapytania. Potrzeba pliku XML, to masz plik XML. Potrzeba pliku CSV, to można wygenerować go inaczej.

Tylko proszę nie mówić, że to wszystko dlatego, że ktoś napisał taki parser do tego. Do XMLa są parsery XMLa, a nie protezy. Te parsery nie rozumieją co to jest "linijka" w XMLu.

Temat: Jak uzyskać poporawny plik xml

Czasem newline'y przydają się, gdy w XMLu zapisany jest config aplikacji, wtedy łatwiej go edytowac. Ale także wtedy linijki są tylko dla wygody człowieka, a nie parsera :)

To, co zwraca Oracle (bo to ten silnik, patrząc po kodzie), poza brakującym naglowkiem, jest poprawnym XMLem.Ten post został edytowany przez Autora dnia 20.08.14 o godzinie 23:42
Marcin M.

Marcin M. pracownik

Temat: Jak uzyskać poporawny plik xml

Jest to baza Oracle.

Chciałem od razu z zapytania uzyskać plik XML.
Zapytanie wykonuję w SQL*PLUS.

I na wyjściu chciałem uzyskać już gotową strukturę XML czyli linia pod linią.

Temat: Jak uzyskać poporawny plik xml

To co dostajesz to JEST gotowa struktura XML (nagłówek można dodać z poziomu zapytania). Ty chcesz jedynie "njulajny" w wyniku. Edytory do XMLa poradzą sobie bez nich formatując odpowiednio wyjście, jak robi to np. IE.

Rzuć okiem na to: http://stackoverflow.com/questions/14490661/how-to-ins...
Marcin M.

Marcin M. pracownik

Temat: Jak uzyskać poporawny plik xml

Dzięki za podpowiedz. Myślę, że to mi wystarczy.
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: Jak uzyskać poporawny plik xml

Jeśli chcesz formatować po wyciągnięciu danych z bazy możesz użyć xmllint --format.
Wiktor Oleksiejczuk

Wiktor Oleksiejczuk Prezes, VT
Enterprise LLC

Temat: Jak uzyskać poporawny plik xml

Najszybciej będzie przy użyciu SlashDB. Analogiczne zapytanie sprowadza się do takiego URLa:

http://demo.slashdb.com/db/Chinook/Employee.xml?limit=41

i to samo w alternatywnych formatach: JSON, HTML, CSV:

http://demo.slashdb.com/db/Chinook/Employee.json?limit=41
http://demo.slashdb.com/db/Chinook/Employee.html?limit=41
http://demo.slashdb.com/db/Chinook/Employee.csv?limit=41

Filmik na ten temat: https://www.youtube.com/watch?v=VJ6rOjnn0Lk



Wyślij zaproszenie do