Arquivo

Textos com Etiquetas ‘DOM’

Parse de XML string com xpath em Javascript

5, outubro, 2009 eliezer 1 comentário

XML simples de clientes com tipo de pessoa. Nesse exemplo vou usar xpath para pegar apenas os clientes do tipo ‘F’

1
2
3
4
5
6
7
8
9
10
11
12
13
<xml>
	<clientes>
		<cliente id="1" tipoPessoa="F">
			<nome>Eliezer Rodrigues</nome>
		</cliente>
		<cliente id="2" tipoPessoa="J">
			<nome>Empresa Abz teste</nome>
		</cliente>
		<cliente id="3" tipoPessoa="F">
			<nome>Maria da Silva</nome>
		</cliente>
	</clientes>
</xml>

Codigo completo, para fazer o teste, cole no firefug e rode:

1
2
3
4
5
6
7
8
9
10
11
12
var xmlString = "<xml><clientes><cliente id='1' tipoPessoa='F'><nome>Eliezer Rodrigues</nome></cliente><cliente id='2' tipoPessoa='J'><nome>Empresa Abz teste</nome></cliente><cliente id='3' tipoPessoa='F'><nome>Maria da Silva</nome></cliente></clientes></xml>";
 
var parser=new DOMParser();
var doc = parser.parseFromString(xmlString,"text/xml");
var xpath= "//clientes/cliente[@tipoPessoa = 'F']";
var xmlObject = doc.evaluate( xpath, doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
 
var i=0;
while ( (entry = xmlObject.snapshotItem(i) ) !=null ){ 
    alert("Nome: "+entry.firstElementChild.textContent);
    i++;
}

legal neh?

Categories: javascript Tags: , ,