[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / cs / module_specs / Zend_Json-xml2json.xml
blob3adeefdde1c2f522c377fd5da2ce2f572dec3d49
1 <sect1 id="zend.json.xml2json">
2     <title>Převod XML do JSON</title>
3     <para>
4         <code>Zend_Json</code> poskytuje metodu pro převod dat formátovaných
5         pomocí XML do JSON formátu. Tato vlastnost je inspirována
6         <ulink url="http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/">
7         článkem na IBM developerWorks</ulink>.
8     </para>
10     <para>
11         <code>Zend_Json</code> zahrnuje statickou metodu
12         <code>Zend_Json::fromXml()</code>. Tato funkce generuje JSON ze vstupu
13         ve formátu XML. Tato funkce přijímá jako vstupní parametr jakýkoliv XML
14         řetězec. Také přijímá druhý, volitelný parametr zda ignorovat XML
15         atributy během převodu. Pokud není tento volitelný parametr zadán,
16         defaultní chování je ignorování XML atributů. Volání této funkce je
17         naznačeno níže:
18     </para>
19     <programlisting role="php"><![CDATA[
20         // Funkce fromXml jednoduše přijme String obsahující XML data jak vstup.
21         $jsonContents = Zend_Json::fromXml($xmlStringContents, true);?>]]>
22     </programlisting>
24     <para>
25         Funkce <code>Zend_Json::fromXml()</code> provádí konverzi vstupního XML
26         řetězce a vrací odpovídající zápis ve formátu JSON. V případě chyby v
27         XML nebo chyby při převodu, tato funkce vyhazuje výjimku. Tato konverze
28         také využívá rekurzivitu při procházení XML stromu. Podporuje zanoření
29         do 25 úrovní. Za touto hloubkou vyhodí <code>Zend_Json_Exception</code>.
30         V adresáři tests Zend Frameworku je několik XML souborů s různým stupněm
31         komplexity pro otestování funkčnosti funkce xml2json.
32     </para>
34     <para>
35         Následující jednoduchý příklad ukazuje jak předaný XML vstup tak JSON
36         výstup z funkce <code>Zend_Json::fromXml()</code>. Tento příklad využívá
37         volitelného parametru pro neignorování XML atributů během převodu.
38         Proto vrácený JSON řetězec obsahuje reprezentaci XML atributů přítomných
39         ve vstupním XML řetězci.
40     </para>
42     <para>
43         XML řetězec předaný funkci <code>Zend_Json::fromXml()</code>:
44     </para>
46     <programlisting role="php"><![CDATA[
47 <?xml version="1.0" encoding="UTF-8"?>
48 <books>
49     <book id="1">
50         <title>Code Generation in Action</title>
51         <author><first>Jack</first><last>Herrington</last></author>
52         <publisher>Manning</publisher>
53     </book>
55     <book id="2">
56         <title>PHP Hacks</title>
57         <author><first>Jack</first><last>Herrington</last></author>
58         <publisher>O'Reilly</publisher>
59     </book>
61     <book id="3">
62         <title>Podcasting Hacks</title>
63         <author><first>Jack</first><last>Herrington</last></author>
64         <publisher>O'Reilly</publisher>
65     </book>
66 </books> ?>]]>
67     </programlisting>
69     <para>
70         JSON výstup vrácený z funkce <code>Zend_Json::fromXml()</code>:
71     </para>
73     <programlisting role="php"><![CDATA[
75    "books" : {
76       "book" : [ {
77          "@attributes" : {
78             "id" : "1"
79          },
80          "title" : "Code Generation in Action",
81          "author" : {
82             "first" : "Jack", "last" : "Herrington"
83          },
84          "publisher" : "Manning"
85       }, {
86          "@attributes" : {
87             "id" : "2"
88          },
89          "title" : "PHP Hacks", "author" : {
90             "first" : "Jack", "last" : "Herrington"
91          },
92          "publisher" : "O'Reilly"
93       }, {
94          "@attributes" : {
95             "id" : "3"
96          },
97          "title" : "Podcasting Hacks", "author" : {
98             "first" : "Jack", "last" : "Herrington"
99          },
100          "publisher" : "O'Reilly"
101       }
102    ]}
103 }  ?>]]>
104     </programlisting>
106     <para>
107         Více podrobností o funkci xml2json můžete najít v původním návrhu.
108         Podívejte se na
109         <ulink url="http://tinyurl.com/2tfa8z">návrh Zend_xml2json</ulink>.
110     </para>
112 </sect1>
113 <!--
114 vim:se ts=4 sw=4 et: