Autor | Zpráva | ||
---|---|---|---|
Michal Benda Profil |
#1 · Zasláno: 26. 4. 2011, 16:31:53 · Upravil/a: Michal Benda
Zdravím,
napsal jsem si funkci v PHP, která převádí xml dokument (reprezentovaný pomocí DOMDocument) s tím, že tato funkce zajišťuje odsazení jednotlivých elementů. To mi funguje, ale když to převádím na string, tak potřebuji vědět zda právě zpracovávaný element je párový či nepárový. <? function getStringOfXMLWithIndent($XMLNode, $indent){ $String = ""; $insertEndTag = true; $String = $indent."<".$XMLNode->nodeName; if($XMLNode->hasAttributes() == true){ foreach($XMLNode->attributes as $attribute){ $String .= " ".$attribute->name."=\"".$attribute->value."\""; } } $String .= ">"; if($XMLNode->hasChildNodes() == true){ foreach($XMLNode->childNodes as $child){ if($child->nodeName != "#text"){ $String .= "\n".getStringOfXMLWithIndent($child, $indent."\t"); } else { $insertEndTag = false; $String .= $child->nodeValue."</".$XMLNode->nodeName.">"; } } } if($insertEndTag == true){ $String .= "\n".$indent."</".$XMLNode->nodeName.">"; } return $String; } ?> Existuje na to nějaká vlastnost nebo metoda? Podotýkám, že funkce by měla být univerzální. To znamená, že se dopředu neví, co tam bude za xml dokument, jakého bude formátu, atd. Díky |
||
Joker Profil |
#2 · Zasláno: 26. 4. 2011, 16:38:48
Michal Benda:
Pokud „nepárový element“ = bez koncové značky (obvyklý význam), XML nemůže obsahovat nepárové značky. Všechny XML značky musejí být ukončené (i když prázdné značky mohou být ukončené i zkráceným zápisem: <tag /> ).
|
||
Michal Benda Profil |
#3 · Zasláno: 26. 4. 2011, 17:17:25 · Upravil/a: Michal Benda
Jo jasně... možná jsem to špatně pojmenoval... V tom případě potřebuji zjistit tu prázdnou značku... To znamená, že tedy stačí zkontrolovat, zda obsah značky je prázdný řetězec, ne?
EDIT: Ano funguje, díky... |
||
Časová prodleva: 13 let
|
0