Uživatelské nástroje

Nástroje pro tento web


xml

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
xml [2016/04/13 10:57] djbuldogxml [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 7: Řádek 7:
       * například: ''<element1/>'' - prázdný element s názvem element1       * například: ''<element1/>'' - prázdný element s názvem element1
     * element může mít atributy     * element může mít atributy
-      * například: ''<element1 atr1='hodnota' atr2='hodnota2'>..</element1>+      * například: ''<element1 atr1='hodnota' atr2=\'hodnota2'>..</element1>'' 
 +    * element může mít i návěští 
 +      * například: ''<namespace1:element1/>''
     * jako uzel se označuje element nebo hodnota elementu     * jako uzel se označuje element nebo hodnota elementu
  
Řádek 27: Řádek 29:
   * měl jsem ale případ XML, kde mi ani jedno řešení nepřišlo vhodné   * měl jsem ale případ XML, kde mi ani jedno řešení nepřišlo vhodné
   * použil jsem přímé procházení, viz následující příklad   * použil jsem přímé procházení, viz následující příklad
 +
 +===== Přímé procházení =====
  
 <code xml> <code xml>
Řádek 102: Řádek 106:
 } }
 </code> </code>
 +
 +  * ukázka parsování atributů
 +
 +<code xml>
 +..
 +<parameter name="PerspectiveSeason" value="183"/>
 +<parameter name="LockConfig" value="0"/>
 +<parameter name="extServices" value="1"/>
 +<parameter name="currentMaxThreads" value="2"/>
 +<parameter name="resolveFilter" value="LAN"/>
 +..
 +</code>
 +
 +<code cpp>
 +   // look for parameters
 +    while (cur != NULL) {
 +        if (cur->type == XML_ELEMENT_NODE) {
 +
 +            if ((!xmlStrcmp(cur->name, (const xmlChar *)"parameter"))) {
 +
 +                // look for name and value of parameter
 +                char *name = NULL;
 +                char *value = NULL;
 +                xmlAttr *attribute = NULL;
 +
 +                attribute = cur->properties;
 +                while(attribute && attribute->name && attribute->children) {
 +
 +                    if ((!xmlStrcmp(attribute->name, (const xmlChar *)"name"))) {
 +                        if (name) xmlFree(name);
 +                        name = (char*)xmlNodeListGetString(cur->doc, attribute->children, 1);
 +                    }
 +                    if ((!xmlStrcmp(attribute->name, (const xmlChar *)"value"))) {
 +                        if (value) xmlFree(value);
 +                        value = (char*)xmlNodeListGetString(cur->doc, attribute->children, 1);
 +                    }
 +
 +                    attribute = attribute->next;
 +                }
 +
 +                if ((value)&&(name)) {
 +                    if (!strcmp((char*)name,"extServices")) {
 +                        ext_allowed = (!strcmp((char*)value,"1"));
 +                    }
 +                }
 +
 +                if (name) xmlFree(name);
 +                if (value) xmlFree(value);
 +            }
 +        }
 +        cur = cur->next;
 +    }
 +</code>
 +===== Vyhledávání přes Xpath =====
 +
xml.1460537876.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki