Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JDOM User »

RE: [jdom-interest] XPATH using JDOM returns null???

Kevin L. Cobb

2005-07-15


Message
The problem, I believe, is that your namespace declaration does not have a namespace identifier.
 
    xmlns="http://www.fixprotocol.org/FIXML-4-4
 
I would expect the namespace to read something like this
 
    xmlns:fix="http://www.fixprotocol.org/FIXML-4-4
 
This would allow you to use the XPath function, addNamespace, to add the namespace to the XPath object. Like this:
 
    xpath.addNamespace("fix", "http://www.fixprotocol.org/FIXML-4-4");
 
This finds the nodes you are interested in as expected.

 

 

From: Anand, Rajesh [mailto:Rajesh_Anand@ml.com]
Sent: Friday, July 15, 2005 1:40 PM
To: Kevin L. Cobb; jdom-interest@jdom.org
Subject: RE: [jdom-interest] XPATH using JDOM returns null???

     You are absolutely right about the missing end tag. It was an error of copy & paste.
 
    However, what can I do with namespace as this is sent from another system.
 
    Any Ideas???
 
 

Rajesh Anand
Email:Rajesh_anand@ml.com

-----Original Message-----
From: Kevin L. Cobb [mailto:kevin.cobb@emergint.com]
Sent: 15 July 2005 16:59
To: Anand, Rajesh
Subject: RE: [jdom-interest] XPATH using JDOM returns null???

Assuming your XML snippet has a cut-and-paste error, missing 'Batch' and 'FIXML' end tags, I ran it in my app and the nodeList does not come back NULL. It does, however, come back empty. If you take out the namespace declaration in the root node, FIXML, it works as expected.
 
I'm pretty sure the problem is that this changes the namespace of the element, FIXML, and this is why the XPATH does not see it. I can't tell you what to do to fix it though.
 
 
 

From: jdom-interest-bounces@jdom.org [mailto:jdom-interest-bounces@jdom.org] On Behalf Of Anand, Rajesh
Sent: Friday, July 15, 2005 10:57 AM
To: jdom-interest@jdom.org
Subject: [jdom-interest] XPATH using JDOM returns null???

        Folks,

        I'm parsing an XML file using the following snippet..

        XPath xpath = XPath.newInstance("/FIXML/Batch/TrdCaptRpt");
                List nodelist = xpath.selectNodes(doc);
                Iterator nd = nodelist.iterator();
                while (nd.hasNext()){
                Element ndele = (Element) nd.next();
                fix.listElements(ndele);
                }


        This is the xml snip…

        - <FIXML r="20030618" s="20040109" v="4.4" xr="FIA" xv="1" xmlns="http://www.fixprotocol.org/FIXML-4-4">
- <Batch>
- <TrdCaptRpt RptID="29770863" PrevlyRpted="N" LastQty="1" LastPx="156.4" TrdDt="2005-07-13" TransTyp="0" RptTyp="2" TrdTyp="0" MtchID="0043025" BizDt="2005-07-13" MtchStat="0">

<Instrmt Sym="VX" ID="VX" Src="8" CFI="FFICSX" MMY="200602" MatDt="2006-02-15" Mult="100" Exch="XCBF" />
- <RptSide Side="1" InptDev="MR" Ccy="USD" PosEfct="O">
<Pty ID="OCC" R="21" />
- <Pty ID="00299" R="1">
<Sub ID="C" Typ="26" />
</Pty>
<Pty ID="PJZ" R="2" />
</RptSide>
- <RptSide Side="2" InptDev="MR" Ccy="USD" PosEfct="C">
<Pty ID="OCC" R="21" />
- <Pty ID="00643" R="18">
<Sub ID="C" Typ="26" />
</Pty>
<Pty ID="TM1" R="26" />
</RptSide>
</TrdCaptRpt>


        Why does nodelist returns NULL???

        Thanks for your help in advance.

       

Rajesh Anand
Email:Rajesh_anand@ml.com


If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail.     http://www.ml.com/email_terms/

_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.