Vytváření dokumentů XML pomocí PHP

Obsah
Než se ponoříme do technické části, jak tyto dokumenty vytvářet, musíme nejprve pochopit, co je to soubor. XML, a jaké jsou její skutečné a aktuální aplikace, tímto způsobem budeme moci mnohem více ocenit znalosti, které můžeme v této sekci získat.
Co je to soubor XML?Určitě mnozí z vás již vědí, že se jedná o soubor XMLAvšak pro ty, kteří to neznají nebo je to poprvé, co tento termín vidí, trochu vysvětlíme jeho koncept. XML je značkovací a značkovací jazyk velmi podobný HTML to nám umožňuje organizovat obsah v dokumentu. Skládá se z popisků a entit a při jeho generování musíme dodržovat několik pravidel.
Určitě si myslíte, že popisuji HTML také a proč nepoužíváme druhé místo vytváření nového jazyka, protože jednoduše proto XML je přísnější a přizpůsobitelnější, a proto je použití mnohem flexibilnější a srozumitelnější. Štítky na HTML jsou již definovány ve vašem standardu, místo a XML štítky vytváříme podle jazykových pravidel.
Na začátku tutoriálu jsme zmínili jednu z nejznámějších aplikací XML a je to organizovat obsah tak, aby jej mohly aplikace konzumovat, to je v zásadě nutné. Při organizaci dokumentu XML můžeme dělat to, čemu se říká a analyzovat, což není nic jiného než čtení souboru a pokud bude dodržovat standard, budeme schopni vědět, jaká je jeho struktura, a tedy zpracovat uvedený obsah v rámci našeho programu.
Ve skutečném kontextu XML lze použít k přenosu dat prostřednictvím a webová služba nebo obnovit a importovat data v souboru Databáze. Jak vidíme, je to formát přenositelnosti, tedy přenos dat z jedné platformy na druhou. Funguje také na stejné platformě, například v konfiguračním souboru, kde každý štítek odpovídá parametrům, které naše aplikace čte, aby generovala adekvátní chování.
Ačkoli v posledních několika letech formát JSON získala ve webových prostředích velkou popularitu a pravděpodobně získává na popularitě i přes XML, ve skutečnosti to tak není, protože každý z nich má svůj prostor, výhoda JSON je, že je nativní v Javascript a s novými způsoby práce s tímto jazykem je převod prakticky zbytečný.
V jiných prostředích, jako jsou desktopové aplikace, však jiné než serverové jazyky Javascript a aplikace, které jsou na trhu již delší dobu, XML je to platná a široce používaná možnost.
Jako vždy vše závisí na našich potřebách, můžeme říci, že ani jedno JSON ani XML jsou špatní, každý prostě má svůj rozsah a svůj účel, pokud tedy chceme použít XML a někdo nám řekne, že jsme zastaralí, jen vězte, že pro naše potřeby je to zcela platné.
Jak jsme již vysvětlili soubor XML Skládá se ze značek, ale aby byl správně interpretován, musí mít nadpis a pak začít s obsahem. Záhlaví je známé jako DTD nebo Definice typu dokumentu, což by se dalo přeložit jako definice typu dokumentu a pak je obsahem soubor schéma nebo schéma ve španělštině.
Co dělá DTD?The DTD je ten, kdo poskytne informace analyzátor o jaké XML je a v rámci schéma Právě tam bude směřovat obsah, který jsme pro náš dokument vytvořili.
Na následujícím obrázku uvidíme, jak vypadá testovací dokument, který máme v našem prostředí pro vývoj aplikací:

Všimli jsme si, že XML není to nic jiného než text, takže můžeme v naší aplikaci provádět jednoduché rutiny v PHP ke generování obsahu odpovídajícího souboru XMLPokud však vidíme záhlaví souboru XML má stejné značky jako úvodní značky jazyka, tj. pokud tedy uděláme a vyhodil jednoduchý obsah souboru XML dostaneme chybu syntaxe.
Můžeme to snadno opravit pomocí záhlaví a změnou Typ MIME pomocí text / xml to udělá tlumočníka PHP již nepovažujeme záhlaví našeho obsahu za chybu XML které generujeme. Podívejme se níže na kód, který použijeme k vytvoření našeho malého příkladu:
 "Fight Club", 'author' => "Chuck Palahniuk"), pole ('title' => "World War Z", 'author' => "Max Brooks",)); foreach ($ books as $ book) {echo "\ n"; echo "{$ book ['title']} \ n"; echo "{$ book ['author']} \ n"; echo "\ n \ n"; }?> var13 -> 

Zde vidíme, jak první věc, kterou uděláme, je vygenerování záhlaví dokumentu pomocí záhlaví, to nám umožní umístit počáteční značku našeho XML bez vyvolání chyb syntaxe v PHP, pak umístíme mimo kód naši kořenovou značku schéma, v tomto případě knihovna.
Dále vytvoříme malé pole s několika prvky, které jsme nazvali knihy, důležité zde, i když je to něco manuálního, je, že vidíme, že bychom to mohli udělat s výsledkem Databáze například. Nakonec projdeme naše pole a tiskneme, vždy respektujeme štítky, takže naše XML je dobře tvarovaný.
Nakonec, když to spustíme na našem testovacím serveru, dostaneme v prohlížeči něco jako následující:

ZVĚTŠIT

Vylepšení zpracováníAčkoli výše uvedené funguje docela dobře a je velmi užitečné, je příliš náchylné k chybám, takže pro naši pomoc máme několik knihoven, které nám umožňují vytvářet dokumenty XML z nejběžnějších definic jazyka, k tomu máme knihovnu SLUNCE a knihkupectví SimpleXML, oba nám umožňují generovat dokumenty XML stejně jako dělat analyzovat z toho.
V následujícím příkladu vezmeme soubor XML to je v našem adresáři, abychom to usnadnili, můžeme uložit dokument, který byl vygenerován v předchozím příkladu, a nazveme jej php_crear_xml.xml, s přihlédnutím k tomu, že úpravou rozšíření již nebudeme moci používat PHP k tisku záhlaví, což je snadný způsob, jak vidět XML plné je stisknout CTRL + u a budeme mít totéž. Jakmile budeme mít testovací soubor, použijeme k provedení následujícího kódu analyzovat ze souboru.
načíst ("example1.xml"); process ($ parser-> documentElement); funkční proces ($ node) {foreach ($ node-> childNodes as $ child) {if ($ child-> nodeType == XML_TEXT_NODE) ​​{echo "

". $ child-> nodeValue."

";} else if ($ child-> nodeType == XML_ELEMENT_NODE) ​​{process ($ child);}}}?> var13 ->

V kódu vidíme, že jsme vytvořili objekt typu DOMDokument, to nám přinese knihkupectví SLUNCE umět interpretovat XML, pak s metodou načíst () načteme soubor XML které máme ve své trase a poté voláme funkci proces() to je ten, který nám umožní projít načteným dokumentem.
Nakonec definujeme naši funkci, zde projdeme každý uzel a poté uděláme podmínku, pokud se jedná o prvek XML Voláme funkci, jinak pokud jde o text, vytiskneme ji, čímž můžeme získat obsah souboru XML Žádný problém.
Jedinou vadou této metody a této knihovny je velikost paměti vyžadované na serveru, takže pokud by to byl velký soubor XML pro náš server by bylo velmi obtížné jej zpracovat.

Máme také knihovnu SimpleXML aby bylo možné vytvářet a zpracovávat soubory XML, jeho použití je něco podobného jako knihovna SLUNCEJe však omezenější z hlediska aplikace a větší složitosti, i když je o něco větší, takže náš kód může být složitější.
Zajímavé na této knihovně je, že objekt je vytvořen pomocí naší XML pomocí kterých můžeme přímo přistupovat k jejich vlastnostem, a tak s nimi pracovat. Podívejme se v následujícím kódu, jak můžeme získat přístup ke štítkům kvalifikace každé knihy, kterou v sobě máme XML testů.
kniha jako $ kniha) {echo $ book-> titul. "
";}?> var13 ->

Přestože kód může vypadat trochu krátce, děláme to, že vytvoříme objekt z načteného souboru a můžeme smyčku s pro každého každý ze svých uzlů a tím jednoduchým způsobem přistupovat k obsahu svého štítku. Pomocí kterého bychom v prohlížeči získali následující:

Tímto ukončujeme tento tutoriál, úspěšně jsme vytvořili soubor XML a naučili jsme se dva různé způsoby, jak tyto soubory číst, je důležité procvičovat složitější soubory, abychom byli připraveni a schopni aplikovat své znalosti v reálném životě.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave