Ir para conteúdo

POWERED BY:

Arquivado

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

ohlele

XML - Como verificar se um elemento existe?

Recommended Posts

Olá galera,

 

Esotu usando um xml variável, ou seja, ora possui um elemento, hora não possui, isso dependendo da consulta, ex:

 

1.

<carro>

<peca>

<img>endereço-url<img>

<peca>

<carro>

 

2.

<carro>

<peca>

 

<peca>

<carro>

 

 

A questão é, qunado eu consulto os carros, aquele que tem peça com imagem aparece a tag<img>, e quando não tem imagem, não aparece.

 

 

Eu já procurei e não hajo nada, já tentei usar hasChildNodes() mas não funciona.

 

 

Eu queria algo, por exemplo, se a tag existe no xml, me informasse true ou false.

 

Pode ser só a linha que me informa isso

 

Grato, galera

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted k, não deu certo.

 

 

 

Meu XML: consulta 1, ex: carrox, mostra vários resultados, com imagens de peças e outros não.

<carro>
 <peca>
  <img>endereço-url<img>
 <peca>
<carro>

<carro>
 <peca>

 <peca>
<carro>

<carro>
 <peca>

 <peca>
<carro>

<carro>
 <peca>
  <img>endereço-url<img>
 <peca>
<carro>
Veja bem eu não consegui pegar os elementos filho com seu código.

 

 

Veja o que eu queria fazer:

 

Quando eu contultar um carro, meu código procurasse, se a tag existe.

Ex:

Se <carro> existe, escreva o nome do carro

Depois se <peça> existe, escreva o nome da peça

Se a <img> da <peça> existe, mostre a imagem.

 

Outro problema, no xml tem outras tags de <img> fora do elemento <peca>.

 

Set obj_XML = Server.CreateObject("Microsoft.XMLDOM")   
Set objLista = Server.CreateObject("Microsoft.XMLDOM")   
obj_XML.async = False  
obj_XML.Load (Server.MapPath("teste.xml"))   
  
Set objLista = obj_XML.getElementsByTagName("*")   
  
For i = 0 to (objLista.length-1)   
  
	If objLista.item(i).nodeName = "NOME_TAG" Then  
	  response.Write(objLista.item(i).text)   
	End If  
  
Next

Eu tentei usar seu código, funcionou apenas para a tag <carro> o restante não deu certo.

 

Como faço isso

 

Valeu mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo mais como você fez, você tem que colocar um IF dentro do outro, e seria ideal e mais lógico padronizar o XML nesse caso ai da tag <img> sua

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ted.

 

O problema é que meus xmls são externos e não tenho como auterá-los.

 

 

 

Tem como eu verificar os blocos separadamente usando algo como:

 

if objXML.getElementsByTagName("carro").Item(i).getElementsByTagName("peca").Item(0).nodeName = "NOME_TAG" Then

 

Ou seja fazer consultas pelos blocos e sub blocos

 

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, vou tentar fazer isso.

 

Mais uma dúvida.

 

Estou usando o hasAttribute e dá erro:

(0x800A01B6)

O objeto não dá suporte para a propriedade ou método: 'hasAttribute'

 

ex:

If objXML.getElementsByTagName("carro").Item(i).hasAttribute("ano") = True Then

 

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os atributos eu não coloquei, bem como o xml inteiro.

 

Veja um dos atributos:

 

1.

<carro ano="2008">

<peca>

<img>endereço-url<img>

<peca>

<carro>

 

2.

<carro cor="preto">

<peca>

 

<peca>

<carro>

 

3.

<carro ano="2007" cor="azul">

<peca>

<img>endereço-url<img>

<peca>

<carro>

 

 

 

Dúvidas:

1)

Queria saber se tem como verificar a existencia de um atributo.

 

 

2)

Eu peguei o hasAttribute no site da w3:

http://www.w3schools.com/dom/dom_element.asp

 

Nem todos funcionam para asp?

 

Teria algum site para eu pegar os metodos, aplicações.... para asp, ou tutorias com exemplos práticos?

 

 

Valeu mesmo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

viu aki

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.