how to retreive specified elements from xml using jaxne1.2

View: New views
2 Messages — Rating Filter:   Alert me  

how to retreive specified elements from xml using jaxne1.2

by shanmukha sarma :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Order.xml

Hi,
 i required  these values  from XML file  that is uploaded
i am able to get these value
1) .//sh\:contextItem[@contextId\='JOBID']/text()
2) .//sh\:contextItem[@contextId\='ORDERID']/text()
3).//sh\:contextItem[@contextId\='PRKEYID']/text()


and i am failing to get these
4) .//orderAssociation/value/text()
5) .//Specification/identifier/value/text()


and my java program is
iimport java.io.File;
import java.io.FileInputStream;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;

import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.jaxen.SimpleNamespaceContext;
import org.jaxen.dom4j.Dom4jXPath;

public class TestClass4{
       
private static Properties extractionProperties = null;
private static SimpleNamespaceContext sm = null;
private static Document document = null;
public static void main(String[] args) {
                try {
                        sm = new SimpleNamespaceContext();
                        sm.addNamespace("SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding");
                        sm.addNamespace("SOAP-ENV","http://schemas.xmlsoap.org/soap/envelope/");
                        sm.addNamespace("sh", "http://wsi.nat.bt.com/2005/06/StandardHeader/");
                        sm.addNamespace("orderRequest ","http://www.bt.com/2006/07/26/oneIT/Capabilities/ManageOrder");

                        SAXReader reader = new SAXReader();
                        document = reader.read(new File("Order.xml"));
                        extractionProperties = new Properties();
                        extractionProperties.load(new FileInputStream("props.properties"));
                        Enumeration extractions = extractionProperties.propertyNames();
                        while(extractions.hasMoreElements()){
                                String nodeName =(String) extractions.nextElement();
                                getValuesForXpathsExpressions(nodeName);
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }

}

        public static void getValuesForXpathsExpressions(String nodeName)
                        throws Exception {
                Dom4jXPath xpath = new Dom4jXPath(nodeName);
                xpath.setNamespaceContext(sm);
                System.err.println("Extraction  =  " + nodeName);
                List nodes = xpath.selectNodes(document);
                for (int k = 0; k < nodes.size(); k++) {
                        System.out.println(((Node) nodes.get(k)).getStringValue());
                }
        }
}

       
could any one help  to retrieve these values


4) .//orderAssociation/value/text()
5) .//Specification/identifier/value/text()

this value
<order>
<action>Create</action>
<identifier/>

<orderAssociation>
<value>EUAC_4371_1</value>

</order>

with regards
shanmukha sarma

Re: how to retreive specified elements from xml using jaxne1.2

by Baz-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/1/6 shanmukha sarma <ssarma@...>:

>
> http://www.nabble.com/file/p21312095/Order.xml Order.xml
>
> Hi,
>  i required  these values  from XML file  that is uploaded
> i am able to get these value
> 1) .//sh\:contextItem[@contextId\='JOBID']/text()
> 2) .//sh\:contextItem[@contextId\='ORDERID']/text()
> 3).//sh\:contextItem[@contextId\='PRKEYID']/text()
>
>
> and i am failing to get these
> 4) .//orderAssociation/value/text()
> 5) .//Specification/identifier/value/text()
>
>
> and my java program is
> iimport java.io.File;
> import java.io.FileInputStream;
> import java.util.Enumeration;
> import java.util.List;
> import java.util.Properties;
>
> import org.dom4j.Document;
> import org.dom4j.Node;
> import org.dom4j.io.SAXReader;
> import org.jaxen.SimpleNamespaceContext;
> import org.jaxen.dom4j.Dom4jXPath;
>
> public class TestClass4{
>
> private static Properties extractionProperties = null;
> private static SimpleNamespaceContext sm = null;
> private static Document document = null;
> public static void main(String[] args) {
>                try {
>                        sm = new SimpleNamespaceContext();
>                        sm.addNamespace("SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding");
>                        sm.addNamespace("SOAP-ENV","http://schemas.xmlsoap.org/soap/envelope/");
>                        sm.addNamespace("sh", "http://wsi.nat.bt.com/2005/06/StandardHeader/");
>                        sm.addNamespace("orderRequest
> ","http://www.bt.com/2006/07/26/oneIT/Capabilities/ManageOrder");
>
>                        SAXReader reader = new SAXReader();
>                        document = reader.read(new File("Order.xml"));
>                        extractionProperties = new Properties();
>                        extractionProperties.load(new FileInputStream("props.properties"));
>                        Enumeration extractions = extractionProperties.propertyNames();
>                        while(extractions.hasMoreElements()){
>                                String nodeName =(String) extractions.nextElement();
>                                getValuesForXpathsExpressions(nodeName);
>                        }
>                } catch (Exception e) {
>                        e.printStackTrace();
>                }
>
> }
>
>        public static void getValuesForXpathsExpressions(String nodeName)
>                        throws Exception {
>                Dom4jXPath xpath = new Dom4jXPath(nodeName);
>                xpath.setNamespaceContext(sm);
>                System.err.println("Extraction  =  " + nodeName);
>                List nodes = xpath.selectNodes(document);
>                for (int k = 0; k < nodes.size(); k++) {
>                        System.out.println(((Node) nodes.get(k)).getStringValue());
>                }
>        }
> }
>
> could any one help  to retrieve these values
>
>
> 4) .//orderAssociation/value/text()
> 5) .//Specification/identifier/value/text()
>
> and xml file is
>
> <?xml version="1.0" encoding="UTF-8"?>  <SOAP-ENV:Envelope
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:sh="http://wsi.nat.bt.com/2005/06/StandardHeader/">       <SOAP-ENV:Body>
> <orderRequest
> xmlns="http://www.bt.com/2006/07/26/oneIT/Capabilities/ManageOrder"

^^ this is your problem. You actually need to register a prefix for
this namespace, then query for that. eg:

sm.addNamespace("mo","http://www.bt.com/2006/07/26/oneIT/Capabilities/ManageOrder");
and then your expression should be:
 .//mo:orderAssociation/mo:value/text()

Note that prefixes in your xpath are unrelated to prefixes in your document.

Cheers,
Baz


> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <sh:standardHeader>
> <sh:e2e>        <sh:E2EDATA>10=ip6vqkrve,11=REQ,13=Suborder
> Request,15=LIMS,16=NEO,19=1,6=PCK002069,7=hwdusa22,8=UNKNOWN,9=neo21iA,1.1=:,1.2=:ip6vqksqv,1.3=APP04807:ip6vqkv0e:,1.4=app07018:18y0a5c2rd:18y0a5c5dd</sh:E2EDATA>
> </sh:e2e>
>        <sh:serviceState>       <sh:stateCode>OK</sh:stateCode>
>        <sh:errorCode>0</sh:errorCode>
>        <sh:errorDesc></sh:errorDesc>
>        <sh:errorText></sh:errorText>
> </sh:serviceState>
>        <sh:serviceAddressing>
> <sh:from>http://ccm.intra.bt.com/manageResourceService</sh:from>
>        <sh:to> <sh:address>http://ccm.intra.bt.com/neo</sh:address>
>        <sh:contextItemList>    <sh:contextItem contextId="com.bt.neo"
> contextName="serviceType">wBBC</sh:contextItem>
>        <sh:contextItem
> contextId="http://ccm.intra.bt.com/capabilities/neo/Process"
> contextName="procInstObjId">268435521</sh:contextItem>
>        <sh:contextItem
> contextId="http://ccm.intra.bt.com/capabilities/neo/Process"
> contextName="rqstInstObjId">268436062</sh:contextItem>
> </sh:contextItemList>
> </sh:to>
>        <sh:replyTo>    <sh:address>http://ccm.intra.bt.com/lims</sh:address>
>        <sh:contextItemList>    <sh:contextItem contextId="JOBID"
> contextName="JOBID">101671243</sh:contextItem>
>        <sh:contextItem contextId="REQUESTTYPE"
> contextName="REQUESTTYPE">Create</sh:contextItem>
>        <sh:contextItem contextId="ORDERID"
> contextName="ORDERID">101080546</sh:contextItem>
>        <sh:contextItem contextId="PRKEYID"
> contextName="PRKEYID">370072</sh:contextItem>
> </sh:contextItemList>
> </sh:replyTo>
>        <sh:relatesTo></sh:relatesTo>
>        <sh:messageId>200812291212177</sh:messageId>
>
> <sh:serviceName>http://ccm.intra.bt.com/manageFulfilmentOrder</sh:serviceName>
>
> <sh:action>http://ccm.intra.bt.com/manageFulfilmentOrder/2005-10#createProvideRequest</sh:action>
> </sh:serviceAddressing>
> </sh:standardHeader>
>        <order> <action>Create</action>
>        <identifier></identifier>
>        <orderAssociation>      <value>SS_EUAC_13420</value>
> </orderAssociation>
>        <fromParty>     <identifier>    <value>CUG5000854926</value>
>        <type>CustomerId</type>
> </identifier>
> </fromParty>
>        <orderItem>     <action>        <code>Create</code>
> </action>
>        <identifier>    <value></value>
> </identifier>
>        <specification> <identifier>    <value>SMPF</value>
> </identifier>
>        <name></name>
> </specification>
>        <instance>      <identifier>    <value></value>
> </identifier>
>        <instanceCharacteristic>        <name>CombinedOrderReference</name>
>        <value></value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>PostCode</name>
>        <value></value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>MPF_TieCableID</name>
>        <value>ADSL.1001001.02.002</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>MPF_TiePairNo</name>
>        <value>002</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>PSTN_TieCableID</name>
>        <value>ADSL.1001001.02.002</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>PSTN_TiePairNo</name>
>        <value>002</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>DirectoryNumber</name>
>        <value>01477201604</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>MaintenanceCategory</name>
>        <value>Maintenance Category 5</value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>MAC_Key</name>
>        <value></value>
> </instanceCharacteristic>
>        <instanceCharacteristic>        <name>Metro_Exchange_Id_designed</name>
>        <value>BBCMSAN100BBCMSAN100</value>
> </instanceCharacteristic>
>        <action>        <code>Provide</code>
> </action>
> </instance>
> </orderItem>
> </order>
> </orderRequest>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
>
> with regards
> shanmukha sarma
> --
> View this message in context: http://www.nabble.com/how-to-retreive--specified----elements-from-xml--using---jaxne1.2-tp21312095p21312095.html
> Sent from the jaxen - user mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email