XML por nome do elemento

6 respostas
guto.andreollo

hmmm… suponhamos que eu tenha um xml com a seguinte estrutura:

<config> <window> <title>teste</title> <size x="100" y="200"/> </window> <templates> <layout name="teste1" file="file1.xml"/> <layout name="teste2" file="file2.xml"/> </templates> </config>
criei o parser, etc… e tenho o Document comigo… agora, o que eu queria fazer é alguma chamada em que eu pudesse descrever o documento pelos tags, algo como

titulo = funcao("config.window.title").value; sizeX = funcao("config.window.size.x).value; sizeY = funcao("config.window.size.y).value;
ou entao talves

Node[] templates = funcao("config.templates").getChildNodes;

e entao, por acaso existe alguma maneira de fazer algum dos dois (ou talves, os dois?!)

6 Respostas

cv1

Hmm, parece que ta na hora de brincar com XPath :wink:

guto.andreollo

hmmm… Xpath eh? vou dar uma olhada nesse… No momento também uso o XStream, mas para outra coisa… vejamos do que este é capaz… obrigado pela sugestao!

passos

Apenas complementando…

XPath é a linguagem usada para localizar nós em xml

http://www.w3.org/TR/xpath
http://www.w3schools.com/xpath/.

guto.andreollo

uuuh… hmmmm… existe alguma maneira mais simples? pq tipo, nao que eu num queira usar, mas outra linguagem pra aprender, considerando que eu aprendi xml faz uns… hmm… dois dias…? pq senaum, acho mais facil mudar a necessidade =P

renatosilva

Parece que para o que você quer não vai ter que aprofundar muito na XPath, ela será simples. No caso citado o que mudaria seria para isso se não me engano:

titulo = funcao("/config/window/title").value;
 sizeX = funcao("/config/window/size@x).value;
 sizeY = funcao("/config/window/size@y).value;

Você tem que arrumar algum parser XPath como no JDOM e no Java 5.0

passos

XPath “faz parte” do XML

Criado 11 de julho de 2005
Ultima resposta 13 de jul. de 2005
Respostas 6
Participantes 4