|
Subject:
|
pick data from xml structure
|
|
Posted By:
|
crmpicco
|
Post Date:
|
2/9/2005 10:58:33 AM
|
I have this XML reply:
- <PoweredPNR_PNRReply> - <pnrHeader> - <reservationInfo> - <reservation> <companyId>1A</companyId> <controlNumber>YWXZ3G</controlNumber> <date>090205</date> <time>1417</time> </reservation> </reservationInfo> </pnrHeader> - <securityInformation> - <responsibilityInformation> <typeOfPnrElement>RP</typeOfPnrElement> <agentId>AASU</agentId> <officeId>LONU128VL</officeId> </responsibilityInformation> - <queueingInformation> <queueingOfficeId>LONU128VL</queueingOfficeId> </queueingInformation> <cityCode>AGY</cityCode> - <secondRpInformation> <creationOfficeId>LONU128VL</creationOfficeId> <agentSignature>0001AA</agentSignature> <creationDate>090205</creationDate> <creationTime>1417</creationTime> </secondRpInformation> </securityInformation> - <travellerInfo> - <elementManagementPassenger> - <reference> <qualifier>PT</qualifier> <number>11</number> </reference> <segmentName>NM</segmentName> <lineNumber>1</lineNumber> </elementManagementPassenger> - <travellerInformation> - <traveller> <surname>TESTCRMTEST</surname> <quantity>1</quantity> </traveller> - <passenger> <firstName>AMR</firstName> <type>ADT</type> </passenger> </travellerInformation> </travellerInfo> - <originDestinationDetails> <originDestination /> - <itineraryInfo> - <elementManagementItinerary> - <reference> <qualifier>ST</qualifier> <number>1</number> </reference> <segmentName>AIR</segmentName> <lineNumber>2</lineNumber> </elementManagementItinerary> - <travelProduct> - <product> <depDate>100505</depDate> <depTime>0610</depTime> <arrDate>100505</arrDate> <arrTime>0900</arrTime> </product> - <boardpointDetail> <cityCode>GLA</cityCode> </boardpointDetail> - <offpointDetail> <cityCode>AMS</cityCode> </offpointDetail> - <companyDetail> <identification>KL</identification> </companyDetail> - <productDetails> <identification>1470</identification> <classOfService>L</classOfService> </productDetails> - <typeDetail> <detail>ET</detail> </typeDetail> </travelProduct> - <itineraryMessageAction> - <business> <function>1</function> </business> </itineraryMessageAction> - <relatedProduct> <quantity>1</quantity> <status>HK</status> </relatedProduct> - <flightDetail> - <productDetails> <equipment>100</equipment> <numOfStops>0</numOfStops> <weekDay>2</weekDay> </productDetails> - <departureInformation> <departTerminal>M</departTerminal> </departureInformation> </flightDetail> - <selectionDetails> - <selection> <option>P2</option> </selection> </selectionDetails> </itineraryInfo> - <itineraryInfo> - <elementManagementItinerary> - <reference> <qualifier>ST</qualifier> <number>2</number> </reference> <segmentName>AIR</segmentName> <lineNumber>3</lineNumber> </elementManagementItinerary> - <travelProduct> - <product> <depDate>100505</depDate> <depTime>0955</depTime> <arrDate>100505</arrDate> <arrTime>1205</arrTime> </product> - <boardpointDetail> <cityCode>AMS</cityCode> </boardpointDetail> - <offpointDetail> <cityCode>BCN</cityCode> </offpointDetail> - <companyDetail> <identification>KL</identification> </companyDetail> - <productDetails> <identification>1671</identification> <classOfService>L</classOfService> </productDetails> - <typeDetail> <detail>ET</detail> </typeDetail> </travelProduct> - <itineraryMessageAction> - <business> <function>1</function> </business> </itineraryMessageAction> - <relatedProduct> <quantity>1</quantity> <status>HK</status> </relatedProduct> - <flightDetail> - <productDetails> <equipment>737</equipment> <numOfStops>0</numOfStops> <weekDay>2</weekDay> </productDetails> </flightDetail> - <selectionDetails> - <selection> <option>P2</option> </selection> </selectionDetails> </itineraryInfo> - <itineraryInfo> - <elementManagementItinerary> - <reference> <qualifier>ST</qualifier> <number>3</number> </reference> <segmentName>AIR</segmentName> <lineNumber>4</lineNumber> </elementManagementItinerary> - <travelProduct> - <product> <depDate>300505</depDate> <depTime>0625</depTime> <arrDate>300505</arrDate> <arrTime>0850</arrTime> </product> - <boardpointDetail> <cityCode>BCN</cityCode> </boardpointDetail> - <offpointDetail> <cityCode>AMS</cityCode> </offpointDetail> - <companyDetail> <identification>KL</identification> </companyDetail> - <productDetails> <identification>1664</identification> <classOfService>L</classOfService> </productDetails> - <typeDetail> <detail>ET</detail> </typeDetail> </travelProduct> - <itineraryMessageAction> - <business> <function>1</function> </business> </itineraryMessageAction> - <relatedProduct> <quantity>1</quantity> <status>HK</status> </relatedProduct> - <flightDetail> - <productDetails> <equipment>737</equipment> <numOfStops>0</numOfStops> <weekDay>1</weekDay> </productDetails> - <departureInformation> <departTerminal>A</departTerminal> </departureInformation> </flightDetail> - <selectionDetails> - <selection> <option>P2</option> </selection> </selectionDetails> </itineraryInfo> - <itineraryInfo> - <elementManagementItinerary> - <reference> <qualifier>ST</qualifier> <number>4</number> </reference> <segmentName>AIR</segmentName> <lineNumber>5</lineNumber> </elementManagementItinerary> - <travelProduct> - <product> <depDate>300505</depDate> <depTime>1355</depTime> <arrDate>300505</arrDate> <arrTime>1435</arrTime> </product> - <boardpointDetail> <cityCode>AMS</cityCode> </boardpointDetail> - <offpointDetail> <cityCode>GLA</cityCode> </offpointDetail> - <companyDetail> <identification>KL</identification> </companyDetail> - <productDetails> <identification>1477</identification> <classOfService>L</classOfService> </productDetails> - <typeDetail> <detail>ET</detail> </typeDetail> </travelProduct> - <itineraryMessageAction> - <business> <function>1</function> </business> </itineraryMessageAction> - <relatedProduct> <quantity>1</quantity> <status>HK</status> </relatedProduct> - <flightDetail> - <productDetails> <equipment>737</equipment> <numOfStops>0</numOfStops> <weekDay>1</weekDay> </productDetails> </flightDetail> - <selectionDetails> - <selection> <option>P2</option> </selection> </selectionDetails> </itineraryInfo> </originDestinationDetails> - <segmentGroupingInfo> <groupingCode>CNX</groupingCode> - <marriageDetail> <tatooNum>1</tatooNum> </marriageDetail> - <marriageDetail> <tatooNum>2</tatooNum> </marriageDetail> </segmentGroupingInfo> - <segmentGroupingInfo> <groupingCode>CNX</groupingCode> - <marriageDetail> <tatooNum>3</tatooNum> </marriageDetail> - <marriageDetail> <tatooNum>4</tatooNum> </marriageDetail> </segmentGroupingInfo> - <dataElementsMaster> <marker2 /> - <dataElementsIndiv> - <elementManagementData> - <reference> <qualifier>OT</qualifier> <number>16</number> </reference> <segmentName>AP</segmentName> <lineNumber>6</lineNumber> </elementManagementData> - <otherDataFreetext> - <freetextDetail> <subjectQualifier>3</subjectQualifier> <type>4</type> </freetextDetail> <longFreetext>AGENCY : DONALD MACKENZIE TRAVEL</longFreetext> </otherDataFreetext> </dataElementsIndiv> - <dataElementsIndiv> - <elementManagementData> - <reference> <qualifier>OT</qualifier> <number>15</number> </reference> <segmentName>TK</segmentName> <lineNumber>7</lineNumber> </elementManagementData> - <ticketElement> - <ticket> <indicator>OK</indicator> <date>090205</date> <officeId>LONU128VL</officeId> </ticket> </ticketElement> </dataElementsIndiv> - <dataElementsIndiv> - <elementManagementData> - <reference> <qualifier>OT</qualifier> <number>18</number> </reference> <segmentName>RM</segmentName> <lineNumber>8</lineNumber> </elementManagementData> - <miscellaneousRemarks> - <remarks> <type>RM</type> <category>F</category> <freetext>ADULT NETNET:134,GROSS:169,TAX:69.70,ADDON:35,WKEND:0,FUEL:0,MRKUP:0,AGYMRKUP:0,FEE:0,TTL:273.70,CID/CTC: 39/IT5AFKLE</freetext> </remarks> </miscellaneousRemarks> </dataElementsIndiv> - <dataElementsIndiv> - <elementManagementData> - <reference> <qualifier>OT</qualifier> <number>19</number> </reference> <segmentName>RM</segmentName> <lineNumber>9</lineNumber> </elementManagementData> - <miscellaneousRemarks> - <remarks> <type>RM</type> <freetext>*MK/AGENCY:MK/AGENT:MK01</freetext> </remarks> </miscellaneousRemarks> </dataElementsIndiv> - <dataElementsIndiv> - <elementManagementData> - <reference> <qualifier>OT</qualifier> <number>0</number> </reference> <segmentName>ES</segmentName> </elementManagementData> - <pnrSecurity> - <security> <identification>GLAU12106</identification> <accessMode>B</accessMode> </security> - <securityInfo> <creationDate>090205</creationDate> <agentCode>AASU</agentCode> <officeId>LONU128VL</officeId> </securityInfo> <indicator>G</indicator> </pnrSecurity> </dataElementsIndiv> </dataElementsMaster> </PoweredPNR_PNRReply>
_______________________________________
How do i pick data from it?
I want to get out:
<freetext>ADULT NETNET:134,GROSS:169,TAX:69.70,ADDON:35,WKEND:0,FUEL:0,MRKUP:0,AGYMRKUP:0,FEE:0,TTL:273.70,CID/CTC: 39/IT5AFKLE</freetext>
Thanks.
Picco
www.crmpicco.co.uk
|
|
Reply By:
|
viks
|
Reply Date:
|
2/24/2005 5:19:52 AM
|
hi picco
Well i used sax parser and got the text out, but it looks like there are 2 freetext tag, so i guess both freetext will be printed, but you can match the string and get if you want only one freetext tag, anyway here is the code for printing both the freetext tag,
import org.xml.sax.Attributes; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParserFactory; import javax.xml.parsers.SAXParser; import java.io.File; import java.io.IOException;
public class SampleXML extends DefaultHandler { public static void main(String[] args) throws Exception { SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxParserFactory.newSAXParser(); SampleXML xml = new SampleXML(); saxParser.parse(new File("testxml.xml"), xml); } boolean isTitle; public void startElement(String uri, String localName, String qName, Attributes atts) { if(qName.equals("freetext")) { isTitle = true; System.out.println("<" + qName + ">"); } } public void endElement(String uri, String localName, String qName) { if(qName.equals("freetext")) { isTitle = false; System.out.println("</" + qName + ">"); } } public void characters(char[] chars, int start, int length) { if(isTitle) { System.out.println(new String(chars, start, length)); } } }
The output of the above program is shown below,
C:\Test>java SampleXML
<freetext> ADULT NETNET:134,GROSS:169,TAX:69.70,ADDON:35,WKEND:0,FUEL:0,MRKUP:0,AGYMRKUP:0, FEE:0,TTL:273.70,CID/CTC: 39/IT5AFKLE </freetext> <freetext> *MK/AGENCY:MK/AGENT:MK01 </freetext>
I hope this helps.
-viks
|
|
Reply By:
|
crmpicco
|
Reply Date:
|
12/1/2006 10:01:25 AM
|
wow, its been a while since i've seen Java :-) thanks
www.crmpicco.co.uk www.ie7.com
|
|