Autor | Zpráva | ||
---|---|---|---|
kajaman Profil |
#1 · Zasláno: 21. 12. 2008, 17:38:05 · Upravil/a: kajaman
ahoj všem, mám např. takovýto xml dokument:
<?xml version='1.0' encoding='UTF-8' ?> <stranka> <prvek> <dalsiPrvek>nejaky text</dalsiPrvek> </prvek> </stranka> Trošku mě mate, že firstChild elementu <stranka> je objekt Text.... Znamená to, že se mi tam pravděpodobně plete to odsazení a správně by xml dokument měl vypaadat takto: <?xml version='1.0' encoding='UTF-8' ?><stranka><prvek><dalsiPrvek>nejaky text</dalsiPrvek></prvek></stranka> tzn. všechno v řádce bez jakéhokoli "lidsky-čitelného" formátování?? |
||
Měsíček Profil |
#2 · Zasláno: 21. 12. 2008, 17:40:47
Ke tvé otázce -> ne.
|
||
kajaman Profil |
#3 · Zasláno: 21. 12. 2008, 17:42:01
ahoj, ty jsi tady pořád, co? :-)
trochu se rozepiš a zkus mi, prosím, poradit... |
||
Měsíček Profil |
#4 · Zasláno: 21. 12. 2008, 18:56:34 · Upravil/a: Měsíček
Vlastně kecy, měl jsi pravdu .. takhle (když to bude na jedno řádku) tak dá document.firstChild.childNodes.length 1 jinak pokud to budeš strukturovat tak dá 3. Takže k tomu poslednímu prvku by jsi se měl dostat například takto document.firstChild.childNodes[1].childNodes[1].nodeName; // Jméno tagu
|
||
Jan Tvrdík Profil |
#5 · Zasláno: 21. 12. 2008, 19:07:09
Měsíček
Není lepší použít getElementsByName + while (nodeType != 1) {...} ? |
||
Měsíček Profil |
#6 · Zasláno: 21. 12. 2008, 19:21:35
Reaguji na Jana Tvrdíka:
Při práci s DOMem a XML ano, při ukázce jak to celé funguje určitě ne. Reaguji na Kajamana: Snad ti docvakne jak to vypadá když je to strukturované (XML parser si bere i znaky \n\t proto bude *.length 3 a u nestrukturovaného 1): <?xml version='1.0' encoding='UTF-8' ?> <stranka> <prvek> <dalsiPrvek>nejaky text</dalsiPrvek> </prvek> </stranka> document.firstChild.tagName; // stranka document.getElementsByTagName("stranka")[0].tagName; // stranka document.firstChild.childNodes.length; // 3 document.firstChild.childNodes[0].nodeValue; // document.firstChild.childNodes[1].nodeValue; // null document.firstChild.childNodes[2].nodeValue; // document.firstChild.childNodes[2].nodeName; // #Text document.firstChild.childNodes[1].nodeName; // prvek document.firstChild.childNodes[0].nodeName; // #Text |
||
kajaman Profil |
#7 · Zasláno: 21. 12. 2008, 20:05:07
děkuji za reakce!
|
||
Leo Profil |
#8 · Zasláno: 21. 12. 2008, 21:23:54
Firefox to dela i u obyc. html dokumentu, takze misto prace s uzly je v rade pripadu opravdu lepsi getElementByTagName. Leo
|
||
habendorf Profil |
#9 · Zasláno: 22. 12. 2008, 11:18:34
„je v rade pripadu opravdu lepsi getElementByTagName“
getElementsByTagName |
||
Časová prodleva: 15 let
|
0