  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Subject: Re: XPath problems using JDom | Subject: Re: XPath problems using JDom 2007-10-22 - By Laurent Bihanic
Back Check out your document : there is the space character before the http://... in the default namespace declaraction. Remove it from the document or add it to the namespace declaraction for the XPath object and it works.
Laurent
Bhave, Ameya a ?crit : > Hi, > > I have read some of the literature on this subject in the archives, and > am still unable to sort my problem out. Basically I am trying to read an > xml file using an xpath expression. > > My xml file looks like this: > > -- --- > <?xml version="1.0" encoding="UTF-8 (See http://UTF-8.ora-code.com)"?> > <OTA_AirLowFareSearchRQ EchoToken="0" MaxResponses="20" > Mode="MasterPricer" SequenceNmbr="0" Target="Amadeus" xmlns=" > http://www.opentravel.org/OTA/2003/05" > xmlns:helper="xalan://com.openjaw.rules.XSLHelper" > xmlns:xalan="http://xml.apache.org/xalan <http://xml.apache.org/xalan>"> > <POS> > <Source ISOCurrency="GBP" PseudoCityCode="1AC"> > <ns1:RequestorID > ID="H6265/AAA/32835/2006/41000/OPENJAW/MERLIN" ID_Context="ABTA" > xmlns:ns1=" http://www.opentravel.org/OTA/2003/05" > xmlns:ns2="http://www.tui-uk.co.uk/OTA_EXT/2006" xmlns:ns3=" > http://www.openjawtech.com/2005" > xmlns:ns4="http://www.opentravel.org/OTA/2002/08"/> > </Source> > </POS> > <OriginDestinationInformation> > <DepartureDateTime>2007-10-23T00:00:00.000+01:00</DepartureDateTime> > <OriginLocation CodeContext="IATA" LocationCode="LGW"/> > <DestinationLocation CodeContext="IATA" LocationCode="PMI"/> > </OriginDestinationInformation> > <OriginDestinationInformation> > <DepartureDateTime>2007-10-30T00:00:00</DepartureDateTime> > <OriginLocation CodeContext="IATA" LocationCode="PMI"/> > <DestinationLocation CodeContext="IATA" LocationCode="LGW"/> > </OriginDestinationInformation> > <TravelerInfoSummary> > <AirTravelerAvail> > <PassengerTypeQuantity Code="ADT" Quantity="2"/> > <PassengerTypeQuantity Code="CHD" Quantity="3"/> > </AirTravelerAvail> > </TravelerInfoSummary> > </OTA_AirLowFareSearchRQ> > > -- --- > > And the code to access the info (using xpath) is: > > -- ---- > public static void getXPathValue(File file) > { > Document xmlDoc = getDocumentForFile(file); > > try > { > // XPath.setXPathClass(org.jaxen.jdom.JDOMXPath.class); > XPath xPath = > XPath.newInstance("/ota:OTA_AirLowFareSearchRQ/ota :OriginDestinationInformation"); > > xPath.addNamespace("ota", > "http://www.opentravel.org/OTA/2003/05"); //default ns > > xPath.addNamespace("helper", > "xalan://com.openjaw.rules.XSLHelper"); > xPath.addNamespace("xalan", "http://xml.apache.org/xalan"); > xPath.addNamespace("ns2", " http://www.tui-uk.co.uk/OTA_EXT/2006"); > xPath.addNamespace("ns1", "http://www.openjawtech.com/2005"); > xPath.addNamespace("ns3", " > http://www.opentravel.org/OTA/2002/08"); > > > > > List nodes = xPath.selectNodes(xmlDoc); > System.out.println("Nodes = " + nodes); > > } > catch (Exception e) > { > System.out.println("Error: " + e); > e.printStackTrace(System.out); > } > } > -- ---- > > The problem is that the list I get is empty. __ ____ ____ ____ ____ ____ ____ ____ ____ ____ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)
|
|
 |