Ler xml J DOM

3 respostas
Diegomoco

Olá pessoal estou com muitas dúvidas. Tipo preciso ler um xml pré formatado, que está ai abaixo.
Eu já consegui carregar o arquivo e ler a tag Player name, agora preciso de outros dados, e o principal que não sei como trazer é os dados que estão ai na linha 189,192,193,198, 202,203...podem ser mais linhas mas nesse exemplo ai são essas.

Só pra vcs entenderem veja a linha que é importante
122.4138
Praticamente todos os dados dessa linha seriam interessantes pra mim. Como faço pra pegá-los

Obrigado!

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rF [
<!ENTITY rFEnt "rFactor Entity">
]>
<rFactorXML version="1.0">
<RaceResults>
<Setting>Multiplayer</Setting>
<ServerName>OGP - Formula</ServerName>
<PlayerFile>Diego Jacometti</PlayerFile>
<DateTime>[telefone removido]</DateTime>
<TimeString>2013/03/14 23:48:06</TimeString>
<Mod>F1BC_Formula.rfm</Mod>
<Season></Season>
<TrackVenue>F1BC Tracks</TrackVenue>
<TrackCourse>Melbourne</TrackCourse>
<TrackEvent>Melbourne</TrackEvent>
<TrackLength>5261.1</TrackLength>
<GameVersion>1.255</GameVersion>
<Dedicated>0</Dedicated>
<ConnectionType upload="185" download="128">Custom</ConnectionType>
<RaceLaps>0</RaceLaps>
<RaceTime>50</RaceTime>
<MechFailRate>1</MechFailRate>
<DamageMult>80</DamageMult>
<FuelMult>2</FuelMult>
<TireMult>2</TireMult>
<VehiclesAllowed>|F1BC_Formula_Challenge|F1BC_Formula_Junior|F1BC_Formula_Light|F1BC_Formula_Pro</VehiclesAllowed>
<ParcFerme>3</ParcFerme>
<FixedSetups>0</FixedSetups>
<FreeSettings>0</FreeSettings>
<FixedUpgrades>0</FixedUpgrades>
<Practice1>
<DateTime>[telefone removido]</DateTime>
<TimeString>2013/03/14 23:48:08</TimeString>
<Laps>[telefone removido]</Laps>
<Minutes>165</Minutes>
<Stream>
<Chat et="4.9">Diego Jacometti entrou no jogo. </Chat>
<Score et="375.3">Tonny Peixoto(10) lap=2 point=1 t=42.950 et=375.078</Score>
<Score et="413.4">Tonny Peixoto(10) lap=2 point=2 t=81.048 et=413.176</Score>
<Score et="443.2">Diego Jacometti(12) lap=0 point=1 t=-1.000 et=443.141</Score>
<Score et="466.7">Tonny Peixoto(10) lap=3 point=0 t=134.366 et=466.494</Score>
<Score et="476.3">Diego Jacometti(12) lap=0 point=2 t=-1.000 et=476.245</Score>
<Score et="510.1">Tonny Peixoto(10) lap=3 point=1 t=43.278 et=509.772</Score>
<Score et="520.2">Diego Jacometti(12) lap=1 point=0 t=-1.000 et=520.178</Score>
<Score et="520.2">Diego Jacometti(12) lap=1 point=1 t=-1.000 et=520.178</Score>
<Score et="520.2">Diego Jacometti(12) lap=1 point=2 t=-1.000 et=520.178</Score>
<Score et="520.2">Diego Jacometti(12) lap=2 point=0 t=-1.000 et=520.178</Score>
<Score et="544.8">Tonny Peixoto(10) lap=3 point=2 t=78.129 et=544.624</Score>
<Score et="579.2">Diego Jacometti(12) lap=2 point=1 t=-1.000 et=579.170</Score>
<Score et="599.8">Tonny Peixoto(10) lap=4 point=0 t=133.029 et=599.524</Score>
<Score et="613.3">Diego Jacometti(12) lap=2 point=2 t=-1.000 et=613.291</Score>
<Score et="643.1">Tonny Peixoto(10) lap=4 point=1 t=43.294 et=642.818</Score>
<Score et="661.1">Diego Jacometti(12) lap=3 point=0 t=-1.000 et=661.057</Score>
<Score et="679.8">Tonny Peixoto(10) lap=4 point=2 t=80.045 et=679.568</Score>
<Score et="702.0">Diego Jacometti(12) lap=3 point=1 t=40.944 et=702.001</Score>
<Score et="732.0">Tonny Peixoto(10) lap=5 point=0 t=132.254 et=731.778</Score>
<Score et="735.9">Diego Jacometti(12) lap=3 point=2 t=74.796 et=735.853</Score>
<Incident et="759.3">Diego Jacometti(12) reported contact (0.48) with Immovable</Incident>
<Incident et="759.3">Diego Jacometti(12) reported contact (0.39) with Immovable</Incident>
<Incident et="759.3">Diego Jacometti(12) reported contact (0.10) with Wing</Incident>
<Score et="761.8">Diego Jacometti(12) lap=4 point=0 t=-1.000 et=761.773</Score>
<Score et="775.4">Tonny Peixoto(10) lap=5 point=1 t=43.343 et=775.121</Score>
<Score et="785.1">Tonny Peixoto(10) lap=5 point=2 t=-1.000 et=784.642</Score>
<Score et="785.1">Tonny Peixoto(10) lap=6 point=0 t=-1.000 et=784.642</Score>
<Score et="822.7">Diego Jacometti(12) lap=4 point=1 t=-1.000 et=822.669</Score>
<Score et="856.6">Diego Jacometti(12) lap=4 point=2 t=-1.000 et=856.619</Score>
<Score et="904.4">Diego Jacometti(12) lap=5 point=0 t=-1.000 et=904.394</Score>
<Score et="945.1">Diego Jacometti(12) lap=5 point=1 t=40.709 et=945.103</Score>
<Score et="978.7">Diego Jacometti(12) lap=5 point=2 t=74.256 et=978.650</Score>
<Score et="1026.8">Diego Jacometti(12) lap=6 point=0 t=122.414 et=1026.808</Score>
<Score et="1067.7">Diego Jacometti(12) lap=6 point=1 t=40.892 et=1067.700</Score>
<Score et="1081.0">Tonny Peixoto(10) lap=6 point=0 t=-1.000 et=1080.800</Score>
<Score et="1081.0">Tonny Peixoto(10) lap=6 point=1 t=-1.000 et=1080.800</Score>
<Score et="1081.0">Tonny Peixoto(10) lap=6 point=2 t=-1.000 et=1080.800</Score>
<Score et="1100.8">Diego Jacometti(12) lap=6 point=2 t=73.986 et=1100.794</Score>
<Incident et="1125.3">Diego Jacometti(12) reported contact (0.68) with Immovable</Incident>
<Incident et="1125.3">Diego Jacometti(12) reported contact (0.35) with Wing</Incident>
<Incident et="1125.3">Diego Jacometti(12) reported contact (0.32) with Wing</Incident>
<Incident et="1125.4">Diego Jacometti(12) reported contact (0.35) with Wing</Incident>
<Incident et="1125.4">Diego Jacometti(12) reported contact (0.03) with Wing</Incident>
<Incident et="1125.5">Diego Jacometti(12) reported contact (0.32) with Immovable</Incident>
<Score et="1129.2">Diego Jacometti(12) lap=7 point=0 t=-1.000 et=1129.225</Score>
<Score et="1151.5">Tonny Peixoto(10) lap=6 point=1 t=-1.000 et=1151.330</Score>
<Score et="1189.5">Tonny Peixoto(10) lap=6 point=2 t=-1.000 et=1189.233</Score>
<Score et="1190.9">Diego Jacometti(12) lap=7 point=1 t=-1.000 et=1190.853</Score>
<Incident et="1214.3">Tonny Peixoto(10) reported contact (0.58) with Immovable</Incident>
<Incident et="1214.3">Tonny Peixoto(10) reported contact (1.00) with Immovable</Incident>
<Incident et="1214.3">Tonny Peixoto(10) reported contact (0.06) with Wing</Incident>
<Incident et="1214.6">Tonny Peixoto(10) reported contact (0.16) with Immovable</Incident>
<Score et="1217.3">Tonny Peixoto(10) lap=8 point=0 t=-1.000 et=1217.080</Score>
<Score et="1224.4">Diego Jacometti(12) lap=7 point=2 t=-1.000 et=1224.356</Score>
<Chat et="1230.0">Tonny Peixoto setup enviado (ver pasta Received)</Chat>
<Score et="1273.5">Diego Jacometti(12) lap=8 point=0 t=-1.000 et=1273.473</Score>
<Score et="1314.6">Diego Jacometti(12) lap=8 point=1 t=41.121 et=1314.595</Score>
<Score et="1332.8">Tonny Peixoto(10) lap=8 point=1 t=-1.000 et=1332.501</Score>
<Score et="1347.9">Diego Jacometti(12) lap=8 point=2 t=74.404 et=1347.878</Score>
<Score et="1374.5">Tonny Peixoto(10) lap=8 point=2 t=-1.000 et=1374.243</Score>
<Incident et="1382.1">Tonny Peixoto(10) reported contact (0.26) with Immovable</Incident>
<Incident et="1382.2">Tonny Peixoto(10) reported contact (0.39) with Immovable</Incident>
<Score et="1395.8">Diego Jacometti(12) lap=9 point=0 t=122.273 et=1395.746</Score>
<Incident et="1399.6">Tonny Peixoto(10) reported contact (1.00) with Immovable</Incident>
<Incident et="1399.6">Tonny Peixoto(10) reported contact (1.00) with Immovable</Incident>
<Incident et="1399.6">Tonny Peixoto(10) reported contact (0.48) with Immovable</Incident>
<Score et="1402.7">Tonny Peixoto(10) lap=9 point=0 t=-1.000 et=1402.487</Score>
<Score et="1436.5">Diego Jacometti(12) lap=9 point=1 t=40.750 et=1436.496</Score>
<Score et="1469.8">Diego Jacometti(12) lap=9 point=2 t=74.082 et=1469.829</Score>
<Score et="1518.3">Diego Jacometti(12) lap=10 point=0 t=122.546 et=1518.292</Score>
<Incident et="1551.1">Diego Jacometti(12) reported contact (0.32) with Immovable</Incident>
<Score et="1555.6">Diego Jacometti(12) lap=10 point=1 t=-1.000 et=1555.626</Score>
<Score et="1555.6">Diego Jacometti(12) lap=10 point=2 t=-1.000 et=1555.626</Score>
<Score et="1555.6">Diego Jacometti(12) lap=11 point=0 t=-1.000 et=1555.626</Score>
<Score et="1661.8">Diego Jacometti(12) lap=11 point=1 t=-1.000 et=1661.742</Score>
<Score et="1695.7">Diego Jacometti(12) lap=11 point=2 t=-1.000 et=1695.680</Score>
<Incident et="1736.3">Diego Jacometti(12) reported contact (0.48) with Immovable</Incident>
<Score et="1747.1">Diego Jacometti(12) lap=12 point=0 t=-1.000 et=1747.108</Score>
<Score et="1747.1">Diego Jacometti(12) lap=12 point=1 t=-1.000 et=1747.108</Score>
<Score et="1747.1">Diego Jacometti(12) lap=12 point=2 t=-1.000 et=1747.108</Score>
<Score et="1747.1">Diego Jacometti(12) lap=13 point=0 t=-1.000 et=1747.108</Score>
<Score et="1839.1">Tonny Peixoto(10) lap=9 point=1 t=-1.000 et=1838.803</Score>
<Score et="1875.1">Tonny Peixoto(10) lap=9 point=2 t=-1.000 et=1874.877</Score>
<Score et="1885.4">Diego Jacometti(12) lap=13 point=1 t=-1.000 et=1885.382</Score>
<Score et="1921.8">Diego Jacometti(12) lap=13 point=2 t=-1.000 et=1921.806</Score>
<Score et="1929.4">Tonny Peixoto(10) lap=10 point=0 t=-1.000 et=1929.118</Score>
<Score et="1970.0">Diego Jacometti(12) lap=14 point=0 t=-1.000 et=1970.003</Score>
<Score et="1973.0">Tonny Peixoto(10) lap=10 point=1 t=43.632 et=1972.750</Score>
<Score et="2010.6">Diego Jacometti(12) lap=14 point=1 t=40.594 et=2010.597</Score>
<Score et="2010.8">Tonny Peixoto(10) lap=10 point=2 t=81.498 et=2010.616</Score>
<Score et="2043.8">Diego Jacometti(12) lap=14 point=2 t=73.770 et=2043.772</Score>
<Score et="2062.5">Tonny Peixoto(10) lap=11 point=0 t=133.178 et=2062.295</Score>
<Score et="2091.4">Diego Jacometti(12) lap=15 point=0 t=121.341 et=2091.344</Score>
<Score et="2105.6">Tonny Peixoto(10) lap=11 point=1 t=42.986 et=2105.281</Score>
<Incident et="2128.8">Diego Jacometti(12) reported contact (0.35) with Immovable</Incident>
<Incident et="2128.8">Diego Jacometti(12) reported contact (0.06) with Immovable</Incident>
<Score et="2141.5">Tonny Peixoto(10) lap=11 point=2 t=78.896 et=2141.192</Score>
<Score et="2142.5">Diego Jacometti(12) lap=15 point=1 t=-1.000 et=2142.491</Score>
<Score et="2142.5">Diego Jacometti(12) lap=15 point=2 t=-1.000 et=2142.491</Score>
<Score et="2142.5">Diego Jacometti(12) lap=16 point=0 t=-1.000 et=2142.491</Score>
<Score et="2193.6">Tonny Peixoto(10) lap=12 point=0 t=131.103 et=2193.398</Score>
<Incident et="2224.1">Tonny Peixoto(10) reported contact (0.10) with Immovable</Incident>
<Score et="2230.9">Tonny Peixoto(10) lap=13 point=0 t=-1.000 et=2230.613</Score>
<Score et="2230.9">Tonny Peixoto(10) lap=13 point=1 t=-1.000 et=2230.613</Score>
<Score et="2230.9">Tonny Peixoto(10) lap=13 point=2 t=-1.000 et=2230.613</Score>
<Score et="2244.9">Diego Jacometti(12) lap=16 point=1 t=-1.000 et=2244.846</Score>
<Score et="2278.9">Diego Jacometti(12) lap=16 point=2 t=-1.000 et=2278.882</Score>
<Score et="2305.3">Tonny Peixoto(10) lap=13 point=1 t=-1.000 et=2305.053</Score>
<Score et="2326.7">Diego Jacometti(12) lap=17 point=0 t=-1.000 et=2326.674</Score>
<Score et="2349.6">Tonny Peixoto(10) lap=13 point=2 t=-1.000 et=2349.377</Score>
<Score et="2367.5">Diego Jacometti(12) lap=17 point=1 t=40.809 et=2367.483</Score>
<Score et="2401.0">Diego Jacometti(12) lap=17 point=2 t=74.281 et=2400.955</Score>
<Score et="2402.2">Tonny Peixoto(10) lap=14 point=0 t=-1.000 et=2401.971</Score>
<Score et="2444.7">Tonny Peixoto(10) lap=14 point=1 t=42.453 et=2444.424</Score>
<Score et="2449.0">Diego Jacometti(12) lap=18 point=0 t=122.329 et=2449.003</Score>
<Score et="2486.5">Tonny Peixoto(10) lap=14 point=2 t=84.310 et=2486.281</Score>
<Score et="2489.2">Diego Jacometti(12) lap=18 point=1 t=40.195 et=2489.198</Score>
<Score et="2522.4">Diego Jacometti(12) lap=18 point=2 t=73.343 et=2522.346</Score>
<Score et="2538.9">Tonny Peixoto(10) lap=15 point=0 t=136.679 et=2538.651</Score>
<Score et="2569.3">Diego Jacometti(12) lap=19 point=0 t=120.273 et=2569.276</Score>
<Score et="2579.4">Tonny Peixoto(10) lap=15 point=1 t=-1.000 et=2579.143</Score>
<Score et="2579.4">Tonny Peixoto(10) lap=15 point=2 t=-1.000 et=2579.143</Score>
<Score et="2579.4">Tonny Peixoto(10) lap=16 point=0 t=-1.000 et=2579.143</Score>
<Chat et="2641.8">Tonny Peixoto saiu do jogo. </Chat>
<Score et="2676.7">Diego Jacometti(12) lap=19 point=1 t=-1.000 et=2676.726</Score>
<Score et="2676.7">Diego Jacometti(12) lap=19 point=2 t=-1.000 et=2676.726</Score>
<Score et="2676.7">Diego Jacometti(12) lap=20 point=0 t=-1.000 et=2676.726</Score>
</Stream>
<MostLapsCompleted>20</MostLapsCompleted>
<Driver>
<Name>Diego Jacometti</Name>
<Connected>1</Connected>
<VehFile>OGPFJ.VEH</VehFile>
<UpgradeCode>00000000 00000000</UpgradeCode>
<VehName>OGP</VehName>
<CarType>F1BC Formula Junior</CarType>
<CarClass>F1BC Formula Junior</CarClass>
<CarNumber>1000</CarNumber>
<TeamName>Soft Compound</TeamName>
<isPlayer>1</isPlayer>
<Position>1</Position>
<ClassPosition>1</ClassPosition>
<Points>0</Points>
<ClassPoints>0</ClassPoints>
<LapRankIncludingDiscos>1</LapRankIncludingDiscos>
<Lap num="1" p="2" et="--.---" fuel="0.102">--.----</Lap>
<Lap num="2" p="2" et="520.1784" fuel="0.129">--.----</Lap>
<Lap num="3" p="2" et="520.1784" fuel="0.090">--.----</Lap>
<Lap num="4" p="2" et="661.0568" s1="40.9445" s2="33.8514" fuel="0.067">--.----</Lap>
<Lap num="5" p="2" et="761.7726" fuel="0.090">--.----</Lap>
<Lap num="6" p="1" et="904.3940" s1="40.7093" s2="33.5466" s3="48.1579" fuel="0.055">122.4138</Lap>
<Lap num="7" p="1" et="1026.8079" s1="40.8919" s2="33.0941" fuel="0.031">--.----</Lap>
<Lap num="8" p="1" et="1129.2251" fuel="0.090">--.----</Lap>
<Lap num="9" p="1" et="1273.4733" s1="41.1214" s2="33.2829" s3="47.8686" fuel="0.055">122.2730</Lap>
<Lap num="10" p="1" et="1395.7463" s1="40.7501" s2="33.3322" s3="48.4639" fuel="0.020">122.5462</Lap>
<Lap num="11" p="1" et="1518.2925" fuel="0.129">--.----</Lap>
<Lap num="12" p="1" et="1555.6259" fuel="0.094">--.----</Lap>
<Lap num="13" p="1" et="1747.1077" fuel="0.122">--.----</Lap>
<Lap num="14" p="1" et="1747.1077" fuel="0.090">--.----</Lap>
<Lap num="15" p="1" et="1970.0028" s1="40.5939" s2="33.1757" s3="47.5713" fuel="0.055">121.3409</Lap>
<Lap num="16" p="1" et="2091.3438" fuel="0.129">--.----</Lap>
<Lap num="17" p="1" et="2142.4910" fuel="0.090">--.----</Lap>
<Lap num="18" p="1" et="2326.6738" s1="40.8090" s2="33.4717" s3="48.0481" fuel="0.055">122.3288</Lap>
<Lap num="19" p="1" et="2449.0027" s1="40.1954" s2="33.1480" s3="46.9300" fuel="0.020">120.2733</Lap>
<Lap num="20" p="1" et="2569.2761" fuel="0.129">--.----</Lap>
<BestLapTime>120.2733</BestLapTime>
<Laps>20</Laps>
<Pitstops>7</Pitstops>
<FinishStatus>None</FinishStatus>
<ControlAndAids startLap="1" endLap="1">PlayerControl,ABS=1,Clutch,AutoBlip</ControlAndAids>
<ControlAndAids startLap="2" endLap="2">UnknownControl</ControlAndAids>
<ControlAndAids startLap="3" endLap="12">PlayerControl,ABS=1,Clutch,AutoBlip</ControlAndAids>
<ControlAndAids startLap="13" endLap="13">UnknownControl</ControlAndAids>
<ControlAndAids startLap="14" endLap="20">PlayerControl,ABS=1,Clutch,AutoBlip</ControlAndAids>
</Driver>
</Practice1>
</RaceResults>
</rFactorXML>

3 Respostas

nel

Você já leu algum tutorial sobre manipulação de XML com Java ? Mais especificamente, falando em DOM ?
Basicamente, precisa chegar a tag ‘Lap’ (da mesma forma que conseguiu chegar em uma outra), feito isso você terá um objeto (node, senão me engano) que representa justamente essa tag.

Ai, é só trabalhar em cima do objeto. O que tu precisa extrair são atributos, então, torna-se tranquilo. Certo ?
Se ainda tem dúvidas, poste-as. Caso queira, seria interessante postar seu código.

Diegomoco
nel:
Você já leu algum tutorial sobre manipulação de XML com Java ? Mais especificamente, falando em DOM ? Basicamente, precisa chegar a tag 'Lap' (da mesma forma que conseguiu chegar em uma outra), feito isso você terá um objeto (node, senão me engano) que representa justamente essa tag.

Ai, é só trabalhar em cima do objeto. O que tu precisa extrair são atributos, então, torna-se tranquilo. Certo ?
Se ainda tem dúvidas, poste-as. Caso queira, seria interessante postar seu código.

Segue trecho de um codigo teste

document = (Document) builder.build(xmlFile);
			
			Element rootNode = document.getRootElement();
			
	  		Element node = (Element) rootNode.getChild("RaceResults");
	  		
	  		System.out.println("First Name : " + node.getChildText("PlayerName"));
Assim da certo de Imprimir a tag PlayerName. Mas se eu fizer assim
System.out.println("First Name : " + node.getChildText("Lap"));
ai não vai. A maioria dos tutoriais que encontrei fala de xmls mais simples, não achei nenhum que tenha +ou- isso:
<Lap num="18" p="1" et="2326.6738" s1="40.8090" s2="33.4717" s3="48.0481" fuel="0.055">122.3288</Lap>

É uma tag com mais informações. Não sei utilizar.

nel

Vamos lá. Primeiro passo e muito importante é conhecer a estrutura do seu XML..
Quem é o nó conhecido como ‘root’ ?

Vou postar o XML formatado, muito mais fácil de enxergar isso:

<?xml version="1.0" encoding="utf-8"?>  
<!DOCTYPE rF [  
<!ENTITY rFEnt "rFactor Entity">  
]>
<rFactorXML version="1.0">
	<RaceResults>
		<Setting>Multiplayer</Setting>
		<ServerName>OGP - Formula</ServerName>
		<PlayerFile>Diego Jacometti</PlayerFile>
		<DateTime>[telefone removido]</DateTime>
		<TimeString>2013/03/14 23:48:06</TimeString>
		<Mod>F1BC_Formula.rfm</Mod>
		<Season></Season>
		<TrackVenue>F1BC Tracks</TrackVenue>
		<TrackCourse>Melbourne</TrackCourse>
		<TrackEvent>Melbourne</TrackEvent>
		<TrackLength>5261.1</TrackLength>
		<GameVersion>1.255</GameVersion>
		<Dedicated>0</Dedicated>
		<ConnectionType upload="185" download="128">Custom
		</ConnectionType>
		<RaceLaps>0</RaceLaps>
		<RaceTime>50</RaceTime>
		<MechFailRate>1</MechFailRate>
		<DamageMult>80</DamageMult>
		<FuelMult>2</FuelMult>
		<TireMult>2</TireMult>
		<VehiclesAllowed>|F1BC_Formula_Challenge|F1BC_Formula_Junior|F1BC_Formula_Light|F1BC_Formula_Pro
		</VehiclesAllowed>
		<ParcFerme>3</ParcFerme>
		<FixedSetups>0</FixedSetups>
		<FreeSettings>0</FreeSettings>
		<FixedUpgrades>0</FixedUpgrades>
		<Practice1>
			<DateTime>[telefone removido]</DateTime>
			<TimeString>2013/03/14 23:48:08</TimeString>
			<Laps>[telefone removido]</Laps>
			<Minutes>165</Minutes>
			<Stream>
				<Chat et="4.9">Diego Jacometti entrou no jogo. </Chat>
				<Score et="375.3">Tonny Peixoto(10) lap=2 point=1 t=42.950 et=375.078
				</Score>
				<Score et="413.4">Tonny Peixoto(10) lap=2 point=2 t=81.048 et=413.176
				</Score>
				<Score et="443.2">Diego Jacometti(12) lap=0 point=1 t=-1.000
					et=443.141</Score>
				<Score et="466.7">Tonny Peixoto(10) lap=3 point=0 t=134.366 et=466.494
				</Score>
				<Score et="476.3">Diego Jacometti(12) lap=0 point=2 t=-1.000
					et=476.245</Score>
				<Score et="510.1">Tonny Peixoto(10) lap=3 point=1 t=43.278 et=509.772
				</Score>
				<Score et="520.2">Diego Jacometti(12) lap=1 point=0 t=-1.000
					et=520.178</Score>
				<Score et="520.2">Diego Jacometti(12) lap=1 point=1 t=-1.000
					et=520.178</Score>
				<Score et="520.2">Diego Jacometti(12) lap=1 point=2 t=-1.000
					et=520.178</Score>
				<Score et="520.2">Diego Jacometti(12) lap=2 point=0 t=-1.000
					et=520.178</Score>
				<Score et="544.8">Tonny Peixoto(10) lap=3 point=2 t=78.129 et=544.624
				</Score>
				<Score et="579.2">Diego Jacometti(12) lap=2 point=1 t=-1.000
					et=579.170</Score>
				<Score et="599.8">Tonny Peixoto(10) lap=4 point=0 t=133.029 et=599.524
				</Score>
				<Score et="613.3">Diego Jacometti(12) lap=2 point=2 t=-1.000
					et=613.291</Score>
				<Score et="643.1">Tonny Peixoto(10) lap=4 point=1 t=43.294 et=642.818
				</Score>
				<Score et="661.1">Diego Jacometti(12) lap=3 point=0 t=-1.000
					et=661.057</Score>
				<Score et="679.8">Tonny Peixoto(10) lap=4 point=2 t=80.045 et=679.568
				</Score>
				<Score et="702.0">Diego Jacometti(12) lap=3 point=1 t=40.944
					et=702.001</Score>
				<Score et="732.0">Tonny Peixoto(10) lap=5 point=0 t=132.254 et=731.778
				</Score>
				<Score et="735.9">Diego Jacometti(12) lap=3 point=2 t=74.796
					et=735.853</Score>
				<Incident et="759.3">Diego Jacometti(12) reported contact (0.48)
					with Immovable</Incident>
				<Incident et="759.3">Diego Jacometti(12) reported contact (0.39)
					with Immovable</Incident>
				<Incident et="759.3">Diego Jacometti(12) reported contact (0.10)
					with Wing</Incident>
				<Score et="761.8">Diego Jacometti(12) lap=4 point=0 t=-1.000
					et=761.773</Score>
				<Score et="775.4">Tonny Peixoto(10) lap=5 point=1 t=43.343 et=775.121
				</Score>
				<Score et="785.1">Tonny Peixoto(10) lap=5 point=2 t=-1.000 et=784.642
				</Score>
				<Score et="785.1">Tonny Peixoto(10) lap=6 point=0 t=-1.000 et=784.642
				</Score>
				<Score et="822.7">Diego Jacometti(12) lap=4 point=1 t=-1.000
					et=822.669</Score>
				<Score et="856.6">Diego Jacometti(12) lap=4 point=2 t=-1.000
					et=856.619</Score>
				<Score et="904.4">Diego Jacometti(12) lap=5 point=0 t=-1.000
					et=904.394</Score>
				<Score et="945.1">Diego Jacometti(12) lap=5 point=1 t=40.709
					et=945.103</Score>
				<Score et="978.7">Diego Jacometti(12) lap=5 point=2 t=74.256
					et=978.650</Score>
				<Score et="1026.8">Diego Jacometti(12) lap=6 point=0 t=122.414
					et=1026.808</Score>
				<Score et="1067.7">Diego Jacometti(12) lap=6 point=1 t=40.892
					et=1067.700</Score>
				<Score et="1081.0">Tonny Peixoto(10) lap=6 point=0 t=-1.000 et=1080.800
				</Score>
				<Score et="1081.0">Tonny Peixoto(10) lap=6 point=1 t=-1.000 et=1080.800
				</Score>
				<Score et="1081.0">Tonny Peixoto(10) lap=6 point=2 t=-1.000 et=1080.800
				</Score>
				<Score et="1100.8">Diego Jacometti(12) lap=6 point=2 t=73.986
					et=1100.794</Score>
				<Incident et="1125.3">Diego Jacometti(12) reported contact (0.68)
					with Immovable</Incident>
				<Incident et="1125.3">Diego Jacometti(12) reported contact (0.35)
					with Wing</Incident>
				<Incident et="1125.3">Diego Jacometti(12) reported contact (0.32)
					with Wing</Incident>
				<Incident et="1125.4">Diego Jacometti(12) reported contact (0.35)
					with Wing</Incident>
				<Incident et="1125.4">Diego Jacometti(12) reported contact (0.03)
					with Wing</Incident>
				<Incident et="1125.5">Diego Jacometti(12) reported contact (0.32)
					with Immovable</Incident>
				<Score et="1129.2">Diego Jacometti(12) lap=7 point=0 t=-1.000
					et=1129.225</Score>
				<Score et="1151.5">Tonny Peixoto(10) lap=6 point=1 t=-1.000 et=1151.330
				</Score>
				<Score et="1189.5">Tonny Peixoto(10) lap=6 point=2 t=-1.000 et=1189.233
				</Score>
				<Score et="1190.9">Diego Jacometti(12) lap=7 point=1 t=-1.000
					et=1190.853</Score>
				<Incident et="1214.3">Tonny Peixoto(10) reported contact (0.58) with
					Immovable</Incident>
				<Incident et="1214.3">Tonny Peixoto(10) reported contact (1.00) with
					Immovable</Incident>
				<Incident et="1214.3">Tonny Peixoto(10) reported contact (0.06) with
					Wing</Incident>
				<Incident et="1214.6">Tonny Peixoto(10) reported contact (0.16) with
					Immovable</Incident>
				<Score et="1217.3">Tonny Peixoto(10) lap=8 point=0 t=-1.000 et=1217.080
				</Score>
				<Score et="1224.4">Diego Jacometti(12) lap=7 point=2 t=-1.000
					et=1224.356</Score>
				<Chat et="1230.0">Tonny Peixoto setup enviado (ver pasta Received)
				</Chat>
				<Score et="1273.5">Diego Jacometti(12) lap=8 point=0 t=-1.000
					et=1273.473</Score>
				<Score et="1314.6">Diego Jacometti(12) lap=8 point=1 t=41.121
					et=1314.595</Score>
				<Score et="1332.8">Tonny Peixoto(10) lap=8 point=1 t=-1.000 et=1332.501
				</Score>
				<Score et="1347.9">Diego Jacometti(12) lap=8 point=2 t=74.404
					et=1347.878</Score>
				<Score et="1374.5">Tonny Peixoto(10) lap=8 point=2 t=-1.000 et=1374.243
				</Score>
				<Incident et="1382.1">Tonny Peixoto(10) reported contact (0.26) with
					Immovable</Incident>
				<Incident et="1382.2">Tonny Peixoto(10) reported contact (0.39) with
					Immovable</Incident>
				<Score et="1395.8">Diego Jacometti(12) lap=9 point=0 t=122.273
					et=1395.746</Score>
				<Incident et="1399.6">Tonny Peixoto(10) reported contact (1.00) with
					Immovable</Incident>
				<Incident et="1399.6">Tonny Peixoto(10) reported contact (1.00) with
					Immovable</Incident>
				<Incident et="1399.6">Tonny Peixoto(10) reported contact (0.48) with
					Immovable</Incident>
				<Score et="1402.7">Tonny Peixoto(10) lap=9 point=0 t=-1.000 et=1402.487
				</Score>
				<Score et="1436.5">Diego Jacometti(12) lap=9 point=1 t=40.750
					et=1436.496</Score>
				<Score et="1469.8">Diego Jacometti(12) lap=9 point=2 t=74.082
					et=1469.829</Score>
				<Score et="1518.3">Diego Jacometti(12) lap=10 point=0 t=122.546
					et=1518.292</Score>
				<Incident et="1551.1">Diego Jacometti(12) reported contact (0.32)
					with Immovable</Incident>
				<Score et="1555.6">Diego Jacometti(12) lap=10 point=1 t=-1.000
					et=1555.626</Score>
				<Score et="1555.6">Diego Jacometti(12) lap=10 point=2 t=-1.000
					et=1555.626</Score>
				<Score et="1555.6">Diego Jacometti(12) lap=11 point=0 t=-1.000
					et=1555.626</Score>
				<Score et="1661.8">Diego Jacometti(12) lap=11 point=1 t=-1.000
					et=1661.742</Score>
				<Score et="1695.7">Diego Jacometti(12) lap=11 point=2 t=-1.000
					et=1695.680</Score>
				<Incident et="1736.3">Diego Jacometti(12) reported contact (0.48)
					with Immovable</Incident>
				<Score et="1747.1">Diego Jacometti(12) lap=12 point=0 t=-1.000
					et=1747.108</Score>
				<Score et="1747.1">Diego Jacometti(12) lap=12 point=1 t=-1.000
					et=1747.108</Score>
				<Score et="1747.1">Diego Jacometti(12) lap=12 point=2 t=-1.000
					et=1747.108</Score>
				<Score et="1747.1">Diego Jacometti(12) lap=13 point=0 t=-1.000
					et=1747.108</Score>
				<Score et="1839.1">Tonny Peixoto(10) lap=9 point=1 t=-1.000 et=1838.803
				</Score>
				<Score et="1875.1">Tonny Peixoto(10) lap=9 point=2 t=-1.000 et=1874.877
				</Score>
				<Score et="1885.4">Diego Jacometti(12) lap=13 point=1 t=-1.000
					et=1885.382</Score>
				<Score et="1921.8">Diego Jacometti(12) lap=13 point=2 t=-1.000
					et=1921.806</Score>
				<Score et="1929.4">Tonny Peixoto(10) lap=10 point=0 t=-1.000
					et=1929.118</Score>
				<Score et="1970.0">Diego Jacometti(12) lap=14 point=0 t=-1.000
					et=1970.003</Score>
				<Score et="1973.0">Tonny Peixoto(10) lap=10 point=1 t=43.632
					et=1972.750</Score>
				<Score et="2010.6">Diego Jacometti(12) lap=14 point=1 t=40.594
					et=2010.597</Score>
				<Score et="2010.8">Tonny Peixoto(10) lap=10 point=2 t=81.498
					et=2010.616</Score>
				<Score et="2043.8">Diego Jacometti(12) lap=14 point=2 t=73.770
					et=2043.772</Score>
				<Score et="2062.5">Tonny Peixoto(10) lap=11 point=0 t=133.178
					et=2062.295</Score>
				<Score et="2091.4">Diego Jacometti(12) lap=15 point=0 t=121.341
					et=2091.344</Score>
				<Score et="2105.6">Tonny Peixoto(10) lap=11 point=1 t=42.986
					et=2105.281</Score>
				<Incident et="2128.8">Diego Jacometti(12) reported contact (0.35)
					with Immovable</Incident>
				<Incident et="2128.8">Diego Jacometti(12) reported contact (0.06)
					with Immovable</Incident>
				<Score et="2141.5">Tonny Peixoto(10) lap=11 point=2 t=78.896
					et=2141.192</Score>
				<Score et="2142.5">Diego Jacometti(12) lap=15 point=1 t=-1.000
					et=2142.491</Score>
				<Score et="2142.5">Diego Jacometti(12) lap=15 point=2 t=-1.000
					et=2142.491</Score>
				<Score et="2142.5">Diego Jacometti(12) lap=16 point=0 t=-1.000
					et=2142.491</Score>
				<Score et="2193.6">Tonny Peixoto(10) lap=12 point=0 t=131.103
					et=2193.398</Score>
				<Incident et="2224.1">Tonny Peixoto(10) reported contact (0.10) with
					Immovable</Incident>
				<Score et="2230.9">Tonny Peixoto(10) lap=13 point=0 t=-1.000
					et=2230.613</Score>
				<Score et="2230.9">Tonny Peixoto(10) lap=13 point=1 t=-1.000
					et=2230.613</Score>
				<Score et="2230.9">Tonny Peixoto(10) lap=13 point=2 t=-1.000
					et=2230.613</Score>
				<Score et="2244.9">Diego Jacometti(12) lap=16 point=1 t=-1.000
					et=2244.846</Score>
				<Score et="2278.9">Diego Jacometti(12) lap=16 point=2 t=-1.000
					et=2278.882</Score>
				<Score et="2305.3">Tonny Peixoto(10) lap=13 point=1 t=-1.000
					et=2305.053</Score>
				<Score et="2326.7">Diego Jacometti(12) lap=17 point=0 t=-1.000
					et=2326.674</Score>
				<Score et="2349.6">Tonny Peixoto(10) lap=13 point=2 t=-1.000
					et=2349.377</Score>
				<Score et="2367.5">Diego Jacometti(12) lap=17 point=1 t=40.809
					et=2367.483</Score>
				<Score et="2401.0">Diego Jacometti(12) lap=17 point=2 t=74.281
					et=2400.955</Score>
				<Score et="2402.2">Tonny Peixoto(10) lap=14 point=0 t=-1.000
					et=2401.971</Score>
				<Score et="2444.7">Tonny Peixoto(10) lap=14 point=1 t=42.453
					et=2444.424</Score>
				<Score et="2449.0">Diego Jacometti(12) lap=18 point=0 t=122.329
					et=2449.003</Score>
				<Score et="2486.5">Tonny Peixoto(10) lap=14 point=2 t=84.310
					et=2486.281</Score>
				<Score et="2489.2">Diego Jacometti(12) lap=18 point=1 t=40.195
					et=2489.198</Score>
				<Score et="2522.4">Diego Jacometti(12) lap=18 point=2 t=73.343
					et=2522.346</Score>
				<Score et="2538.9">Tonny Peixoto(10) lap=15 point=0 t=136.679
					et=2538.651</Score>
				<Score et="2569.3">Diego Jacometti(12) lap=19 point=0 t=120.273
					et=2569.276</Score>
				<Score et="2579.4">Tonny Peixoto(10) lap=15 point=1 t=-1.000
					et=2579.143</Score>
				<Score et="2579.4">Tonny Peixoto(10) lap=15 point=2 t=-1.000
					et=2579.143</Score>
				<Score et="2579.4">Tonny Peixoto(10) lap=16 point=0 t=-1.000
					et=2579.143</Score>
				<Chat et="2641.8">Tonny Peixoto saiu do jogo. </Chat>
				<Score et="2676.7">Diego Jacometti(12) lap=19 point=1 t=-1.000
					et=2676.726</Score>
				<Score et="2676.7">Diego Jacometti(12) lap=19 point=2 t=-1.000
					et=2676.726</Score>
				<Score et="2676.7">Diego Jacometti(12) lap=20 point=0 t=-1.000
					et=2676.726</Score>
			</Stream>
			<MostLapsCompleted>20</MostLapsCompleted>
			<Driver>
				<Name>Diego Jacometti</Name>
				<Connected>1</Connected>
				<VehFile>OGPFJ.VEH</VehFile>
				<UpgradeCode>00000000 00000000</UpgradeCode>
				<VehName>OGP</VehName>
				<CarType>F1BC Formula Junior</CarType>
				<CarClass>F1BC Formula Junior</CarClass>
				<CarNumber>1000</CarNumber>
				<TeamName>Soft Compound</TeamName>
				<isPlayer>1</isPlayer>
				<Position>1</Position>
				<ClassPosition>1</ClassPosition>
				<Points>0</Points>
				<ClassPoints>0</ClassPoints>
				<LapRankIncludingDiscos>1</LapRankIncludingDiscos>
				<Lap num="1" p="2" et="--.---" fuel="0.102">--.----</Lap>
				<Lap num="2" p="2" et="520.1784" fuel="0.129">--.----</Lap>
				<Lap num="3" p="2" et="520.1784" fuel="0.090">--.----</Lap>
				<Lap num="4" p="2" et="661.0568" s1="40.9445" s2="33.8514" fuel="0.067">
					--.----</Lap>
				<Lap num="5" p="2" et="761.7726" fuel="0.090">--.----</Lap>
				<Lap num="6" p="1" et="904.3940" s1="40.7093" s2="33.5466" s3="48.1579"
					fuel="0.055">122.4138</Lap>
				<Lap num="7" p="1" et="1026.8079" s1="40.8919" s2="33.0941"
					fuel="0.031">--.----</Lap>
				<Lap num="8" p="1" et="1129.2251" fuel="0.090">--.----</Lap>
				<Lap num="9" p="1" et="1273.4733" s1="41.1214" s2="33.2829" s3="47.8686"
					fuel="0.055">122.2730</Lap>
				<Lap num="10" p="1" et="1395.7463" s1="40.7501" s2="33.3322" s3="48.4639"
					fuel="0.020">122.5462</Lap>
				<Lap num="11" p="1" et="1518.2925" fuel="0.129">--.----</Lap>
				<Lap num="12" p="1" et="1555.6259" fuel="0.094">--.----</Lap>
				<Lap num="13" p="1" et="1747.1077" fuel="0.122">--.----</Lap>
				<Lap num="14" p="1" et="1747.1077" fuel="0.090">--.----</Lap>
				<Lap num="15" p="1" et="1970.0028" s1="40.5939" s2="33.1757" s3="47.5713"
					fuel="0.055">121.3409</Lap>
				<Lap num="16" p="1" et="2091.3438" fuel="0.129">--.----</Lap>
				<Lap num="17" p="1" et="2142.4910" fuel="0.090">--.----</Lap>
				<Lap num="18" p="1" et="2326.6738" s1="40.8090" s2="33.4717" s3="48.0481"
					fuel="0.055">122.3288</Lap>
				<Lap num="19" p="1" et="2449.0027" s1="40.1954" s2="33.1480" s3="46.9300"
					fuel="0.020">120.2733</Lap>
				<Lap num="20" p="1" et="2569.2761" fuel="0.129">--.----</Lap>
				<BestLapTime>120.2733</BestLapTime>
				<Laps>20</Laps>
				<Pitstops>7</Pitstops>
				<FinishStatus>None</FinishStatus>
				<ControlAndAids startLap="1" endLap="1">PlayerControl,ABS=1,Clutch,AutoBlip
				</ControlAndAids>
				<ControlAndAids startLap="2" endLap="2">UnknownControl
				</ControlAndAids>
				<ControlAndAids startLap="3" endLap="12">PlayerControl,ABS=1,Clutch,AutoBlip
				</ControlAndAids>
				<ControlAndAids startLap="13" endLap="13">UnknownControl
				</ControlAndAids>
				<ControlAndAids startLap="14" endLap="20">PlayerControl,ABS=1,Clutch,AutoBlip
				</ControlAndAids>
			</Driver>
		</Practice1>
	</RaceResults>
</rFactorXML>

Vendo ele fica claro que o nó root é ‘rFactorXML’. Tudo abaixo desse nó é seu filho. Ele tem um filho apenas, chamado ‘RaceResults’, que por sua vez possui outros filhos, cujos filhos são netos de ‘rFactorXML’. Então, pensando assim, vamos procurar onde está a tag ‘Lap’.

Analisando o XML, temos ‘Lap’ sendo filho de ‘Driver’. Ok, achamos uma referência. Agora, quem é o nó ‘Driver’. ‘Driver’ tem como pai ‘Practice1’ que por sua vez é filho de ‘RaceResults’. Opa, finalmente chegamos ao ‘RaceResults’. Então, temos algo assim:

rFactorXML --> RaceResults --> Practice1 --> Driver --> Lap

Agora vou deixar tu pensar um pouco :slight_smile:
Exemplo bem simples: http://stackoverflow.com/questions/9008864/java-read-xml-attributes

Podes procurar por uns melhores.

Criado 18 de março de 2013
Ultima resposta 18 de mar. de 2013
Respostas 3
Participantes 2