Каким способом можно прочитать xml документ и нужные теги сохранить в txt

0
12 июл 2018 05:14
Добрый утро!Есть задача прочитать xml файл и нужные теги в нужном порядке сохранить в txt!Кто может подскажет как можно сделать или уже есть примеры на форуме?Я новичок в этом деле так,что может уже и обсуждалось это на форуме.Подскажите пожалуйста!Есть вот такой xml и txt ,что должно получиться!И как вывести значение тегов в столбик если есть перечисления цифр?

<?xml version="1.0" encoding="Windows-1251"?>
<SPP_ROOT>
<RPC><nLineOff>5785</nLineOff><nSampOff>4499</nSampOff><nLatOff>52.9228</nLatOff><nLongOff>51.2782</nLongOff><nHeightOff>88</nHeightOff><nLineScale>5785</nLineScale><nSampScale>4500</nSampScale><nLatScale>0.2657</nLatScale><nLongScale>0.3863</nLongScale><nHeightScale>1000</nHeightScale><bLineNum>-0.000629859420341615,-0.223122036521553,1.12086419504931,-0.00166704310369315,0.0798597682706705,-0.000899894909963547,0.00452992546379495,-0.00498748520833035,-0.19287326775007,-8.02494837414716e-006,-0.00175245427363783,0.00872684259858483,0.0924116681162977,0.00330580402582468,-0.0534953241623651,-0.220768199926586,-0.0165982505580707,0.000376542853708549,0.00123610261105306,2.46952697602973e-005</bLineNum><bLineDen>1,0.0349982910036457,-0.171965466071745,0.00378529601232002,0.0435950815503886,-0.0013451064641388,0.000810424022544801,-0.0386705988037442,-0.196998549022927,-0.014808547070133,-1.58057179388088e-006,-3.94321130622832e-005,0.000485925893074298,8.50005809004955e-006,0.000435329396104605,-0.000184313172903366,-4.13928280693823e-006,-1.45601625707564e-006,1.00712449717027e-006,-1.62246321693561e-009</bLineDen><bSampNum>-0.003581376214989,-1.23999388532035,-0.33375378178584,-0.0089249060727823,-0.377350306048088,-0.000343628359105678,-0.00340616403483169,0.136805969291967,-0.112451794001893,8.30351273299052e-006,-0.00502068410363809,0.341147340488919,0.292923369023971,0.00475258337204313,0.139287474541054,0.0738581437485123,0.00122282963400602,0.00560805330976629,0.000324523732033018,3.39691952758513e-005</bSampNum><bSampDen>1,-0.100469576238657,0.342731813830848,-0.00106839175550786,-0.036322535737517,-0.00229461974715611,0.00429871271034196,-0.275663554167947,-0.222377712459759,-0.00381610993591663,0.000120925008163237,-0.00254906454270333,-0.0018228051271036,-2.94135306231405e-005,-0.00270145938972221,-0.00175693286779135,-4.27857847608908e-005,0.000564958154223928,0.000523081585364959,8.17777145449374e-006</bSampDen></RPC></SPP_ROOT>


Вот txt должен получиться такой результат!

LINE_OFF: +016861.00 pixels
SAMP_OFF: +09000.00 pixels
LAT_OFF: +31.91180000 degrees
LONG_OFF: +34.83660000 degrees
HEIGHT_OFF: +0151.000 meters
LINE_SCALE: +016861.00 pixels
SAMP_SCALE: +09000.00 pixels
LAT_SCALE: +00.35000000 degrees
LONG_SCALE: +000.27250000 degrees
HEIGHT_SCALE: +01000.000 meters
LINE_NUM_COEFF_1: -2.46171188635817E-04
LINE_NUM_COEFF_2: -1.47710964084078E-01
LINE_NUM_COEFF_3: -1.06673007501914E+00
LINE_NUM_COEFF_4: +5.19941637061845E-04
LINE_NUM_COEFF_5: -3.55654494286889E-02
LINE_NUM_COEFF_6: -9.80856071325358E-03
LINE_NUM_COEFF_7: -7.15318128266239E-02
LINE_NUM_COEFF_8: +6.73934234589977E-03
LINE_NUM_COEFF_9: +7.82996474433665E-02
LINE_NUM_COEFF_10: +4.6133622833714E-05
LINE_NUM_COEFF_11: +2.11551917752547E-01
LINE_NUM_COEFF_12: +3.38124239437932E-02
LINE_NUM_COEFF_13: -4.111212231148E-02
LINE_NUM_COEFF_14: +7.24423632364558E-03
LINE_NUM_COEFF_15: +2.36786172122104E-01
LINE_NUM_COEFF_16: +1.13371499977947E-01
LINE_NUM_COEFF_17: +5.32253491635625E-02
LINE_NUM_COEFF_18: +3.14170792230535E-02
LINE_NUM_COEFF_19: -1.20184342996339E-01
LINE_NUM_COEFF_20: -2.59016826406118E-05
LINE_DEN_COEFF_1: +1.000000000000000E+00
LINE_DEN_COEFF_2: +4.39761245167075E-02
LINE_DEN_COEFF_3: -7.34157175750287E-02
LINE_DEN_COEFF_4: +6.70071844747449E-02
LINE_DEN_COEFF_5: +5.32337872838106E-02
LINE_DEN_COEFF_6: -2.13795569967263E-01
LINE_DEN_COEFF_7: +1.12579030832835E-01
LINE_DEN_COEFF_8: -2.29223869490968E-01
LINE_DEN_COEFF_9: -1.06565742876344E-01
LINE_DEN_COEFF_10: -4.98303114973655E-02
LINE_DEN_COEFF_11: +1.03547646590588E-04
LINE_DEN_COEFF_12: -3.35515101379487E-05
LINE_DEN_COEFF_13: -1.27927628481434E-04
LINE_DEN_COEFF_14: -1.6718322058499E-05
LINE_DEN_COEFF_15: +6.16730230707693E-05
LINE_DEN_COEFF_16: -6.69051745615597E-05
LINE_DEN_COEFF_17: +1.78092278049708E-05
LINE_DEN_COEFF_18: -7.5619677347166E-05
LINE_DEN_COEFF_19: -7.60462558298554E-05
LINE_DEN_COEFF_20: +8.5618310563909E-07
SAMP_NUM_COEFF_1: +5.3207492868647E-03
SAMP_NUM_COEFF_2: +1.32527441382844E+00
SAMP_NUM_COEFF_3: -4.06661889823262E-01
SAMP_NUM_COEFF_4: +1.19482554000525E-03
SAMP_NUM_COEFF_5: -8.71092464725264E-01
SAMP_NUM_COEFF_6: +1.83554695124862E-03
SAMP_NUM_COEFF_7: -1.4192691109485E-03
SAMP_NUM_COEFF_8: -1.01108718491505E-01
SAMP_NUM_COEFF_9: +2.76524195549878E-01
SAMP_NUM_COEFF_10:-2.33672396665198e-005
SAMP_NUM_COEFF_11: -8.83936860421929E-04
SAMP_NUM_COEFF_12: -4.47479184150679E-03
SAMP_NUM_COEFF_13: +2.44088258384728E-01
SAMP_NUM_COEFF_14: -6.08823715677875E-03
SAMP_NUM_COEFF_15: +6.51513147236411E-02
SAMP_NUM_COEFF_16: -8.33450145155483E-02
SAMP_NUM_COEFF_17: +1.85983393077634E-03
SAMP_NUM_COEFF_18: +6.31482475699896E-04
SAMP_NUM_COEFF_19: +4.79590317963116E-04
SAMP_NUM_COEFF_20: -5.41846884544707E-006
SAMP_DEN_COEFF_1: +1.000000000000000E+00
SAMP_DEN_COEFF_2: -7.47583814681025E-02
SAMP_DEN_COEFF_3: -6.7745918621938E-01
SAMP_DEN_COEFF_4: -8.30972360837843E-04
SAMP_DEN_COEFF_5: +4.81098553101387E-02
SAMP_DEN_COEFF_6: +6.50744079860006E-04
SAMP_DEN_COEFF_7: +9.86332260057519E-05
SAMP_DEN_COEFF_8: -5.4512876046618E-03
SAMP_DEN_COEFF_9: +1.97221105606794E-01
SAMP_DEN_COEFF_10: -4.59324283097777E-03
SAMP_DEN_COEFF_11: -1.02594722777159E-04
SAMP_DEN_COEFF_12: +1.27606857420804E-04
SAMP_DEN_COEFF_13: -2.08533649717521E-04
SAMP_DEN_COEFF_14: -8.11354685815867E-06
SAMP_DEN_COEFF_15: +1.13012977791055E-03
SAMP_DEN_COEFF_16: +7.45530007608694E-04
SAMP_DEN_COEFF_17: -1.34849361180783e-05
SAMP_DEN_COEFF_18: +2.60925409576969E-06
SAMP_DEN_COEFF_19: -4.53323469824312E-04
SAMP_DEN_COEFF_20: +1.04986842051962e-05


Вот код:
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;

public class ReadXMLFile {

public static void main(String argv[]) {
try {
File fXmlFile = new File("C:/Users/m/1.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("RPC");
System.out.println("----------------------------");

for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;

System.out.println("nLineOff : "
+ eElement.getElementsByTagName("nLineOff")
.item(0).getTextContent());
System.out.println("nSampOf : "
+ eElement.getElementsByTagName("nSampOff")
.item(0).getTextContent());
System.out.println("nLatOff : "
+ eElement.getElementsByTagName("nLatOff")
.item(0).getTextContent());
System.out.println("nLogOff : "
+ eElement.getElementsByTagName("nLogOff")
.item(0).getTextContent());

System.out.println("nHeightOff : "
+ eElement.getElementsByTagName("nHeightOff")
.item(0).getTextContent());

и так далее и когда дело доходить до тегов где перечисления цифр идёт,то здесь вот загвоздка только в строчку выводит!




}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}



Модераторы: Нет
Сейчас эту тему просматривают: Нет