Sky
Well-Known Member
Имаш ли идея защо главно наблягат на xml за сметка на json, който поне за мен в пъти по удобен?Чакам деня в който ще мигрират и ще получавам данните накуп в xml/json/etc.![]()
Сайтове за оферти, дроп шип доставчици всички са с xml.
Имаш ли идея защо главно наблягат на xml за сметка на json, който поне за мен в пъти по удобен?Чакам деня в който ще мигрират и ще получавам данните накуп в xml/json/etc.![]()
xml - a е много по стар .. тия системи най вероятно работят с други системи които също ползват xml - и които работят и никой не смее / а и след като работят няма смисъл да пипа/ .. да не говорим че може би са насипани и яко кинтиИмаш ли идея защо главно наблягат на xml за сметка на json, който поне за мен в пъти по удобен?
Сайтове за оферти, дроп шип доставчици всички са с xml.
Да, той за това е писан - език, разбираем от машините и хората. eXtensible Markup Language — разширяем маркиращ език. Но има спорове кое е по-добро. Аз и двете ги ползвам. Вече зависи и какво се прави. Примерно повечето API-та са с JSON.Човек по лесно ще разбере xml от колкото json-а. За машината реално няма значение.
JSONPath може би?Пусни ми xpath върху json ...
Един елемент в XML може да има освен стойност и атрибути.
Тук с атрибута ме хвана.Добре де не се изразих правилно
С 3 лупа минимум.и да циклиш по тях![]()
Какво циклене те прихваща? Ако не те интересуват атрибутите, тогава прескачаш! Напротив при xml-а се налага да прилагаш двойно парсване на информацията, което е изцяло глупаво.и да циклиш по тях![]()
"име":"стойност"
"име":{"атрибут1":"...", "атрибут2":"...", ... , "value":"стойност"}
"име":{"нещо1":"...", "нещо2":"...", ...}
"име":{"нещо1":"...", "нещо2":"...", ... , "end":"име"}
Щом казвашКато резултат получаваш излишно повече символи, които и при ръчно четене ти създават проблеми, защото ти натоварват кода с излишни символи, които все пак мозъкът ти разпознава.
$xml = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<root>
<text>На практика xml-а е голям архаизъм, взаимствал идеята на html. Като резултат получаваш излишно повече символи, които и при ръчно четене ти създават проблеми, защото ти натоварват кода с излишни символи, които все пак мозъкът ти разпознава. А това, че оригиналът (html-ът) е създаден просто както се казва "от драсканици" е добре известен факт. После по същия начин се е развивам html, като са добавяно както дойда. Вече голяма част от тези "изобретения" се отричат и не се препоръчват за употреба. Но основната глупост за формата на таговете няма начин да се премахне.
</text>
</root>
EOT;
echo "Size: " . strlen($xml);
$json = array(
'root' => array(
'text' => 'На практика xml-а е голям архаизъм, взаимствал идеята на html. Като резултат получаваш излишно повече символи, които и при ръчно четене ти създават проблеми, защото ти натоварват кода с излишни символи, които все пак мозъкът ти разпознава. А това, че оригиналът (html-ът) е създаден просто както се казва "от драсканици" е добре известен факт. После по същия начин се е развивам html, като са добавяно както дойда. Вече голяма част от тези "изобретения" се отричат и не се препоръчват за употреба. Но основната глупост за формата на таговете няма начин да се премахне.',
),
);
echo "Size: " . strlen(json_encode($json));
{"root":{"text":"\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 xml-\u0430 \u0435 \u0433\u043e\u043b\u044f\u043c \u0430\u0440\u0445\u0430\u0438\u0437\u044a\u043c, \u0432\u0437\u0430\u0438\u043c\u0441\u0442\u0432\u0430\u043b \u0438\u0434\u0435\u044f\u0442\u0430 \u043d\u0430 html. \u041a\u0430\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u0448 \u0438\u0437\u043b\u0438\u0448\u043d\u043e \u043f\u043e\u0432\u0435\u0447\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u0438 \u043f\u0440\u0438 \u0440\u044a\u0447\u043d\u043e \u0447\u0435\u0442\u0435\u043d\u0435 \u0442\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438, \u0437\u0430\u0449\u043e\u0442\u043e \u0442\u0438 \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u0442 \u043a\u043e\u0434\u0430 \u0441 \u0438\u0437\u043b\u0438\u0448\u043d\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u0432\u0441\u0435 \u043f\u0430\u043a \u043c\u043e\u0437\u044a\u043a\u044a\u0442 \u0442\u0438 \u0440\u0430\u0437\u043f\u043e\u0437\u043d\u0430\u0432\u0430. \u0410 \u0442\u043e\u0432\u0430, \u0447\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044a\u0442 (html-\u044a\u0442) \u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a\u0442\u043e \u0441\u0435 \u043a\u0430\u0437\u0432\u0430 \"\u043e\u0442 \u0434\u0440\u0430\u0441\u043a\u0430\u043d\u0438\u0446\u0438\" \u0435 \u0434\u043e\u0431\u0440\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0444\u0430\u043a\u0442. \u041f\u043e\u0441\u043b\u0435 \u043f\u043e \u0441\u044a\u0449\u0438\u044f \u043d\u0430\u0447\u0438\u043d \u0441\u0435 \u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043c html, \u043a\u0430\u0442\u043e \u0441\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u043e \u043a\u0430\u043a\u0442\u043e \u0434\u043e\u0439\u0434\u0430. \u0412\u0435\u0447\u0435 \u0433\u043e\u043b\u044f\u043c\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 \u0442\u0435\u0437\u0438 \"\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f\" \u0441\u0435 \u043e\u0442\u0440\u0438\u0447\u0430\u0442 \u0438 \u043d\u0435 \u0441\u0435 \u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430\u0442 \u0437\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430. \u041d\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0433\u043b\u0443\u043f\u043e\u0441\u0442 \u0437\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043d\u0430 \u0442\u0430\u0433\u043e\u0432\u0435\u0442\u0435 \u043d\u044f\u043c\u0430 \u043d\u0430\u0447\u0438\u043d \u0434\u0430 \u0441\u0435 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0435."}}
Бъркаш валидирането интегритета на данните и структурата на документа.Това, че json няма валидиране не е вярно.
json_encode($json,JSON_UNESCAPED_UNICODE)
Не ги бъркам! Просто казвам, че това са неща, които е добре да имаш като опция когато трябва, а не да си задължен в "интегрирането" на валидирането, дори и когато не ти трябва (примерно, ако кодът се генерира автоматично и никога няма да се разглежда "човешки").Бъркаш валидирането интегритета на данните и структурата на документа.
Тук не мога да не се съглася. Наистина xml е изключително калпав стандарт, но поради своето разпространение има много неща направени специално за него. Ако бяха ги направили същите за json, тогава щеше да е още по-добре. То между другото и това е едно от предимствата на езика php - език, който иначе кой ли не програмист не оплюва, като синтаксис и семантика.
<ТАГ атрибути>съдържание</ТАГ>
<ТАГ атрибути | съдържание>
Не бой се, прекрасно съм светнат за json константите. Щом се хващаш за юникода смени кирилицата с кавички и слешовеНе си усвоил php-то достатъчно добре.
И къде е задължителното валидиране? Освен, ако за теб валидиране е проверката дали има затварящ таг. А като гледам други смислени забележки към стандарта нямаш.Не ги бъркам! Просто казвам, че това са неща, които е добре да имаш като опция когато трябва, а не да си задължен в "интегрирането" на валидирането, дори и когато не ти трябва (примерно, ако кодът се генерира автоматично и никога няма да се разглежда "човешки").
И освен това явно не оценяваш предимството само с проверка на схемата да отхвърлиш невалидни данни.Бъркаш валидирането интегритета на данните и структурата на документа.
Щом така смяташ, кой съм аз, че да подкрепям милионите льольовци по света, които го използват.Тук не мога да не се съглася. Наистина xml е изключително калпав стандарт, но поради своето разпространение има много неща направени специално за него. Ако бяха ги направили същите за json, тогава щеше да е още по-добре. То между другото и това е едно от предимствата на езика php - език, който иначе кой ли не програмист не оплюва, като синтаксис и семантика.
child elements maybe?И като говорим за излишни символи, то би ли ми обяснил защо XML-ът използва такива тагове:
вместо далеч по-компактните от вида:Код:<ТАГ атрибути>съдържание</ТАГ>
Код:<ТАГ атрибути | съдържание>
<ТАГ атрибути | съдържание <ТАГ атрибути | съдържание <ТАГ атрибути | съдържание>>>
Но пък да отричаш стандарт, който ти е леко мътен на базата някакви смешни доводи, че видите ли имало излишни символи е смешно.Така че, няма такова животно като най-добър програмен език, формат, СУБД итн. Според конкретния случай си избираш технологията.
Очевидно заради неправилен php код изкара двойно по-голям размер. И след това ми казваш "прекрасно съм светнат" - ами няма какво да добавя. Ти сериозно ли си мислиш, че escape-ването на кавичките при json няма съответния еквивалент при XML? Знаците "<" и ">" не се ли escape-ват с "<" и ">"?Не бой се, прекрасно съм светнат за json константите. Щом се хващаш за юникода смени кирилицата с кавички и слешове
Идеята беше, че при json-а се налага искейп.
Аз стандарта не го отричам изцяло. Аз просто искам да кажа, че да се твърди, че XML има някакви сериозни предимства пред json е по-скоро глупост. Дори и да има някакво малко предимство, то е много мизерно на практика.И къде е задължителното валидиране? Освен, ако за теб валидиране е проверката дали има затварящ таг. А като гледам други смислени забележки към стандарта нямаш.
Схемата, която е дървено заложена в XML не е особено предимство. Причината е, че при json пак можеш да си направиш каквато си пожелаеш схема. Никой не те спира!!! При това тя точно ще отговаря на изискванията за съответната употреба.И освен това явно не оценяваш предимството само с проверка на схемата да отхвърлиш невалидни данни. Примерно дължина на атрибута, стринг в числово поле итн.
Ако говориш за бележката ми за php, то нещо не схвана какво казах. Казах, че нещо, което е некачествено, но много добре развито си има предимствата, които не могат да се пренебрегнат. Затова милионите льольовци (между които а аз самият) го използват. На php нещата се правят лесно, защото при проблем с едно търсене с Google нещата се оправят. При някой много по-добър език за програмиране е възможно така да "увиснеш", че да се чудиш как да си довършиш програмата.Щом така смяташ, кой съм аз, че да подкрепям милионите льольовци по света, които го използват.
Формулирай си по-ясно мисълта, че тук тази тъпа демонстрация не се разбра какво се опитваш да постигнеш с нея.child elements maybe?
Или така ти изглежда по-смислено?
Код:<ТАГ атрибути | съдържание <ТАГ атрибути | съдържание <ТАГ атрибути | съдържание>>>
С наличието на излишните символи исках само да кажа, че когато е правен стандарта не е мислено много много. И пак ще се повторя: "Аз просто искам да кажа, че да се твърди, че XML има някакви сериозни предимства пред json е по-скоро глупост.". Двата стандарта са горе долу заменими, но XML е по-стария и затова се парсва малко по-сложно.И пак повтарям. Не съм някакъв фанатичен привърженик на нито една технология.
Но пък да отричаш стандарт, който ти е леко мътен на базата някакви смешни доводи, че видите ли имало излишни символи е смешно.
CDATA?!?Очевидно заради неправилен php код изкара двойно по-голям размер. И след това ми казваш "прекрасно съм светнат" - ами няма какво да добавя. Ти сериозно ли си мислиш, че escape-ването на кавичките при json няма съответния еквивалент при XML? Знаците "<" и ">" не се ли escape-ват с "<" и ">"?
И как ще дефинираш вложените елементи? Ако можеш направи ми по-умна демонстрация по според теб "правилния" начин.Формулирай си по-ясно мисълта, че тук тази тъпа демонстрация не се разбра какво се опитваш да постигнеш с нея.
<ТАГ-1 атрибути | съдържание <ТАГ-2 атрибути | съдържание <ТАГ-3 атрибути | съдържание>>>
<ТАГ-1 атрибути>
съдържание
<ТАГ-2 атрибути>
съдържание>
<ТАГ-3 атрибути>
<съдържание>
</ТАГ-3>
</ТАГ-2>
</ТАГ-1>
И пак ще се повторя: "Аз просто искам да кажа, че да се твърди, че XML има някакви сериозни предимства пред json е по-скоро глупост."
Може да се обогатиш малко тук.Схемата, която е дървено заложена в XML не е особено предимство. Причината е, че при json пак можеш да си направиш каквато си пожелаеш схема.
<ТАГ1 атрибути |
съдържание
<ТАГ2 атрибути |
съдържание
<ТАГ3 атрибути |
съдържание
>
>
>
Ако не ми формулираш ясно задачата, то няма и как да ти покажа как се проверява въпросното семпло документче. Ако искаш покажи как се прави на XML и веднага ще ти покажа как става с json.Много ми е интересно как ще провериш такова семпло документче като митническа декларация пусната в json. Включително за допустими типове и стойности на атрибутите итн.
А да, и без да циклиш през масивите, за което първоначално се заяде с мен![]()
Пускаш документа в парсера и той ти плюе грешките. Вземи поразгледай линка от предния пост.Ако искаш покажи как се прави на XML и веднага ще ти покажа как става с json.