|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
how to retreive specified elements from xml using jaxne1.2Order.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.22009/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 |
| Free embeddable forum powered by Nabble | Forum Help |