Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MarKteus

Xml

Recommended Posts

artista = (x.getElementsByTagName("artista")[0].childNodes[0].nodeValue);

titulo = (x.getElementsByTagName("titulo")[0].childNodes[0].nodeValue);

ano = (x.getElementsByTagName("ano")[0].childNodes[0].nodeValue);

 

peguei esse exmplo aí acima pra tentar entender algumas coisas, la vai:

 

o que é os 0 entre os colchetes ? eles são necessários mesmo usando o getElemenstByTagName com o nome do nó dentro ? o getElementsByTagName são não indicam os childnodes ? e o x o que representam ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os "0" (zeros) dentro dos colchetes representam o primeiro elemento. childNodes é um array com todos os nós de um elemento. Como não se sabe se um elemento-pai possui apenas um ou mais elementos, deve-se indicar qual deles você quer por meio de um índice. E o índice é justamente o 0 (zero), lembrando que o primeiro índice de um array é o 0 (zero).

 

O getElemenstByTagName retorna um array com todos os elementos cujo name é igual ao informado entre os parênteses. Como não se sabe quantos elementos que casarão com os critérios, é necessário utilizar o sistema de array e índice, que é feito com uso dos colchetes...

 

Agora, quanto ao x, o "i" é um índice que podemos dizer dinâmico. Isso é normalmente utilizado dentro de um looping (while, for), nos quais a cada iteração o índice é incrementado ou decrementado, e o "i" representa justamente esse índice.

 

Ajudou um pouquinho? :mellow: Meio confuso, né? Mas veja se isso lhe ajuda um pouco e nos informe depois...

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua dúvida está mais para JavaScript. Vou mover o tópico:

 

Tópico movido:

 

Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif JavaScript / DHTML

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

artista = (x[i].getElementsByTagName("artista")[0].childNodes[0].nodeValue);
titulo = (x[i].getElementsByTagName("titulo")[0].childNodes[0].nodeValue);
ano = (x[i].getElementsByTagName("ano")[0].childNodes[0].nodeValue); 

x > provavelmente vêm de um loop, e é um elemento XML.

getElementsByTagName("nome") > é um método que busca, dentro de um elemento XML, por nós que tenham o nome referido. o método getElementsByTagName retorna um objeto do tipo NodeList, que pode ser usado como array, como é o caso aí no trecho de código que você passou.

childNodes > retorna também um objeto NodeList com todos os elementos filhos de um determinado nó. No caso do seu código, retorna todos os nós filhos do primeiro elemento "artista" encontrado no elemento x.

childNodes[0] > zero representa o primeiro nó filho, que pode ser obtido também por firstChild

nodeValue > retorna o texto de um determinado nó

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.