xml
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| xml [2016/04/13 11:06] – [XML] djbuldog | xml [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 7: | Řádek 7: | ||
| * například: | * například: | ||
| * element může mít atributy | * element může mít atributy | ||
| - | * například: | + | * například: |
| - | * jako uzel se označuje element nebo hodnota elementu | + | |
| * element může mít i návěští | * element může mít i návěští | ||
| * například: | * například: | ||
| + | * jako uzel se označuje element nebo hodnota elementu | ||
| * existuje více způsobů jak s XML pracovat, nejčastěji: | * existuje více způsobů jak s XML pracovat, nejčastěji: | ||
| Řádek 29: | Řá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í, | * použil jsem přímé procházení, | ||
| + | |||
| + | ===== Přímé procházení ===== | ||
| <code xml> | <code xml> | ||
| Řádek 104: | Řádek 106: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | * ukázka parsování atributů | ||
| + | |||
| + | <code xml> | ||
| + | .. | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | .. | ||
| + | </ | ||
| + | |||
| + | <code cpp> | ||
| + | // look for parameters | ||
| + | while (cur != NULL) { | ||
| + | if (cur-> | ||
| + | |||
| + | if ((!xmlStrcmp(cur-> | ||
| + | |||
| + | // look for name and value of parameter | ||
| + | char *name = NULL; | ||
| + | char *value = NULL; | ||
| + | xmlAttr *attribute = NULL; | ||
| + | |||
| + | attribute = cur-> | ||
| + | while(attribute && attribute-> | ||
| + | |||
| + | if ((!xmlStrcmp(attribute-> | ||
| + | if (name) xmlFree(name); | ||
| + | name = (char*)xmlNodeListGetString(cur-> | ||
| + | } | ||
| + | if ((!xmlStrcmp(attribute-> | ||
| + | if (value) xmlFree(value); | ||
| + | value = (char*)xmlNodeListGetString(cur-> | ||
| + | } | ||
| + | |||
| + | attribute = attribute-> | ||
| + | } | ||
| + | |||
| + | if ((value)&& | ||
| + | if (!strcmp((char*)name," | ||
| + | ext_allowed = (!strcmp((char*)value," | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if (name) xmlFree(name); | ||
| + | if (value) xmlFree(value); | ||
| + | } | ||
| + | } | ||
| + | cur = cur-> | ||
| + | } | ||
| + | </ | ||
| + | ===== Vyhledávání přes Xpath ===== | ||
| + | |||
xml.1460538414.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
