Re: Problems getting XML values

If your XML doc might become bigger, I advice you to define an XML Schema and after to use Castor to make the data binding

     NodeList nl = stock.getElementsByTagName("Product");
          System.out.println(nl.getLength());
          for (int i=0;i < nl.getLength();i++){
               Element ele = (Element) nl.item(i);
               NodeList nl1 = ele.getElementsByTagName("BasePrice");
               Node eleNode = nl1.item(0);
               Text result = (Text) eleNode.getFirstChild();
               System.out.println(eleNode.getNodeName() + " = " + result.getNodeValue());                              
          }       

Similar Messages

  • Problem getting parameter  values at the service end point

    I am having problem getting parameter values at the service end point. I created service end point and this method is having 35 parameters and then i created test client file using Sun One Studio 5. but when i run this test client and make a call to service it sends wrong value to first three parameters to the service end point. I tried all the way round but it gave me same sort of problem. I change the order of parameters change the names of parameters but it didn�t work. And then i started chopping of parameter from the left side. And my problem is solved when my parameter list reached to 12 from 35. So is it a bug or some problem with my configuration or some thing else.
    I am using sun one studio 5 with sun one app 7. My service end point does very simple thing. It only takes out put of the parameter to the server log file. And my wsdl file seems all right. There is no conflict with the count and data type of the parameter information it contains.
    �     Service End Point Definition (in EJB)
    public java.lang.String setNewAddress(java.lang.String propertyName, java.lang.String status, java.lang.String PMSCode, java.lang.String streetNumPrefix, int streetStartNum, java.lang.String streetStartNumSuffix, int streetEndNum, java.lang.String streetEndNumSuffix, java.lang.String streetName, java.lang.String streetType, java.lang.String streetSuffix, java.lang.String localityPrefix,java.lang.String localityName, java.lang.String postcode, java.lang.String stateCode, java.lang.String countryCode, java.lang.String description, java.lang.String coordinateAccuracy, int longitude, int latitude, java.lang.String planNumber, java.lang.String lotPrefix, int lotNumber, int siteID, java.lang.String countryName, java.lang.String parishName, java.lang.String section, int portionNum, int crownAllotNum, int titleVol, java.lang.String folio, java.lang.String esa, int aliasID, int aliasTagID,String ID) {
    System.out.println(propertyName);
    System.out.println(PMSCode);
    System.out.println(streetNumPrefix);
    ........ taking printout of all the paramters
    �     This is my WSDL file
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="NMService" targetNamespace="urn:NMService/wsdl" xmlns:tns="urn:NMService/wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <types/>
    <message name="NMServiceServantInterface_setNewAddress">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/>
    <part name="String_3" type="xsd:string"/>
    <part name="String_4" type="xsd:string"/>
    <part name="int_5" type="xsd:int"/>
    <part name="String_6" type="xsd:string"/>
    <part name="int_7" type="xsd:int"/>
    <part name="String_8" type="xsd:string"/>
    <part name="String_9" type="xsd:string"/>
    <part name="String_10" type="xsd:string"/>
    <part name="String_11" type="xsd:string"/>
    <part name="String_12" type="xsd:string"/>
    <part name="String_13" type="xsd:string"/>
    <part name="String_14" type="xsd:string"/>
    <part name="String_15" type="xsd:string"/>
    <part name="String_16" type="xsd:string"/>
    <part name="String_17" type="xsd:string"/>
    <part name="String_18" type="xsd:string"/>
    <part name="int_19" type="xsd:int"/>
    <part name="int_20" type="xsd:int"/>
    <part name="String_21" type="xsd:string"/>
    <part name="String_22" type="xsd:string"/>
    <part name="int_23" type="xsd:int"/>
    <part name="int_24" type="xsd:int"/>
    <part name="String_25" type="xsd:string"/>
    <part name="String_26" type="xsd:string"/>
    <part name="String_27" type="xsd:string"/>
    <part name="int_28" type="xsd:int"/>
    <part name="int_29" type="xsd:int"/>
    <part name="int_30" type="xsd:int"/>
    <part name="String_31" type="xsd:string"/>
    <part name="String_32" type="xsd:string"/>
    <part name="int_33" type="xsd:int"/>
    <part name="int_34" type="xsd:int"/>
    <part name="String_35" type="xsd:string"/></message>
    <message name="NMServiceServantInterface_setNewAddressResponse">
    <part name="result" type="xsd:string"/></message>
    <portType name="NMServiceServantInterface">
    <operation name="setNewAddress" parameterOrder="String_1 String_2 String_3 String_4 int_5 String_6 int_7 String_8 String_9 String_10 String_11 String_12 String_13 String_14 String_15 String_16 String_17 String_18 int_19 int_20 String_21 String_22 int_23 int_24 String_25 String_26 String_27 int_28 int_29 int_30 String_31 String_32 int_33 int_34 String_35">
    <input message="tns:NMServiceServantInterface_setNewAddress"/>
    <output message="tns:NMServiceServantInterface_setNewAddressResponse"/></operation></portType>
    <binding name="NMServiceServantInterfaceBinding" type="tns:NMServiceServantInterface">
    <operation name="setNewAddress">
    <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:NMService/wsdl"/></input>
    <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:NMService/wsdl"/></output>
    <soap:operation soapAction=""/></operation>
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/></binding>
    <service name="NMService">
    <port name="NMServiceServantInterfacePort" binding="tns:NMServiceServantInterfaceBinding">
    <soap:address location="http://localhost:80/NMService/NMService"/></port></service></definitions>
    �     I followed steps given this example. http://developers.sun.com/prodtech/javatools/jsstandard/reference/docs/s1s5/stockapp.html.
    If some one know what is wrong. Is it me or some thing wrong with the method I followed. But I am sure that I followed exactly the same method as it given in examples. So if some one can guide me
    Thanks

    I just found that there is a bug with Sun One Studio 5. It creates faulty JSP file to test the client for the web services. With above problem I tested my web services using different developing environment such as Jdeveloper 10g. I created client stub using wsdl file generated by sun one studio. And made call to my web service and all the parameter reached perfectly at service end point. And then I used stub class created by sun one studio for the client and made the same call. And it also went well. So the problem is with the test application (JSP File) sun one creates for my web service.
    This is the majore problem i faced during the development. But still there is many problem along with this which is not seriouse enough but requires attension. I would like sun developers to make sun one studio IDE simpler and handy .

  • Problems getting selected values from HtmlSelectManyCheckbox

    Hello,
    I am having problems getting values via getSelectedValues() from my HtmlSelectManyCheckbox component. The method returns an object array but the values are the same as the initial selectItems property.
    JSP:
    <h:selectManyCheckbox id="checkBox"
        binding="#{userEditBean.manyCheckbox}"
        value="#{userEditBean.groupIds}"
        layout="pageDirection">
      <f:selectItems value="#{userEditBean.allGroups}"/>
    </h:selectManyCheckbox>
    <h:commandButton action="#{userEditBean.ok}"     value="OK"/>Bean:
    public class UserEditBean extends BaseBean {
        private HtmlSelectManyCheckbox manyCheckbox = new HtmlSelectManyCheckbox();
        private String[] groupIds= {};
        private List allGroups = new ArrayList();
        public String[] getGroupIds() {
                groupIds= backing.getSomeIds();
                return groupIds;
        public void setGroupIds(String[] ids) {
            this.groupIds= ids;
        public HtmlSelectManyCheckbox getManyCheckbox() {
            return manyCheckbox;
        public void setManyCheckbox(HtmlSelectManyCheckbox newC) {
            this.manyCheckbox = newC;
        public List getAllGroups() {
            allGroups = backing.getAllGroups();
            return allGroups;
        public void setAllGroups(List newList) {
            this.allGroups = newList;
        public String ok() {
            Object o = manyCheckbox.getSelectedValues();
        }The problem is, the getSelectedValues() returns the values from the initial state of the page. The is no mark of the changes made by the user. Any help will be appreciated
    Thanks,
    Matek

    Your approach is somewhat odd. The selected values are just reflected in the groupIds, but you're overridding it with backing.getSomeIds() each time when the getter is called.
    Here is a basic working example:<h:selectManyCheckbox value="#{myBean.selectedItems}">
        <f:selectItems value="#{myBean.selectItems}"/>
    </h:selectManyCheckbox>
    <h:commandButton value="submit" action="#{myBean.action}" />MyBeanprivate List<String> selectedItems;
    private List<SelectItem> selectItems;
    // + getters + setters
    // You can use initialization block or constructor to prepopulate the selectItems.
        selectItems = new ArrayList<SelectItem>();
    //or
    public MyBean() {
        selectItems = new ArrayList<SelectItem>();
    public void action() {
        // The selected items are reflected in selectedItems.
        for (String selectedItem : selectedItems) {
            System.out.println(selectedItem);
    }

  • Problem getting text value of a node

    Hi
    this is my xml:
    <servizio servizioID="WS-AS-14">
    <mapping idEnte="-1" userName="administrator" name="ISTAT" nameTo="master">
         <category id="1.2.2.0" target="true" toId="01.05.01.011.000">
         <name>Descrizione1</name>
         </category>
         <category id="1.2.2.1" target="true" toId="01.05.01.011.001">
         <name>Descrizione2</name>
         </category>
         <category id="1.2.2.2" target="true" toId="01.05.01.011.002">
         <name>Descrizione3</name>
         </category>
    </mapping>
    </servizio>
    I can get the value of the attributes id and toId of the Node category
    But not the value of the Node name
    This is the code:
    Element rootElement = document.getDocumentElement();
    NodeList nodeList = element.getElementsByTagName("category");
    for(int i = 0; i < nodeList.getLength(); i++) {
    Node category = nodeList.item(i);
    NamedNodeMap categoryAttributes = category.getAttributes();
    and the i get the 2 attributes
    Node namelist = category.getFirstChild();
    String name = namelist.getNodeName();
    String value = namelist.getNodeValue();
    but name is #text
    and value is empty
    what's wrong with my code?
    thanks

    up
    thanks

  • Problem getting arraylist values from request

    Hi All,
    I am trying to display the results of a search request.
    In the jsp page when I add a scriplet and display the code I get the values else it returns empty as true.Any help is appreciated.
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
         <%@ include file="/includes/header.jsp"%>
         <title>Research Results</title>
    </head>
    <body>
    <div class="ui-widget  ui-widget-content">
        <%  
        ArrayList<Research> research = (ArrayList<Research>) request.getAttribute("ResearchResults");
         Iterator iterator = research.iterator();
              while(iterator.hasNext()){
              Research r = (Research) iterator.next();
              out.println("Result Here"+r.getRequesterID());
              out.println("Result Here"+r.getStatus());
        %> 
         <form>
         <c:choose>
         <c:when test='${not empty param.ResearchResults}'>
         <table cellspacing="0" cellpadding="0" id="research" class="sortable">
         <h2>RESEARCH REQUESTS</h2>
                   <tr>
                   <th><a href="#">RESEARCH ID</a></th>
                   <th><a href="#">REQUESTOR NAME</a></th>
                   <th><a href="#">DUE DATE</a></th>
                   <th><a href="#">REQUEST DATE</a></th>
                   <th><a href="#">CLIENT</a></th>
                   <th><a href="#">STATUS</a></th>
                   <th><a href="#">PRIORITY</a></th>
                   </tr>
              <c:forEach var="row" items="${param.ResearchResults}">
                        <tr title="">
                             <td id="researchID">${row.RESEARCH_ID}</td>
                             <td>${row.REQUESTER_FNAME}  ${row.REQUESTER_LNAME}</td>
                             <td><fmt:formatDate pattern="MM/dd/yyyy" value="${row.DUE_DATE}"/></td>
                             <td><fmt:formatDate pattern="MM/dd/yyyy" value="${row.CREATED_DATE}"/></td>
                             <td>${row.CLIENT}</td>
                             <td>
                             <c:choose>
                               <c:when test="${row.STATUS=='10'}">New Request</c:when>
                               <c:when test="${row.STATUS=='20'}">In Progress</c:when>
                               <c:when test="${row.STATUS=='30'}">Completed</c:when>
                              </c:choose>
                             </td>
                             <td>
                             <c:choose>
                               <c:when test="${row.PRIORITY=='3'}">Medium</c:when>
                               <c:when test="${row.PRIORITY=='2'}">High</c:when>
                               <c:when test="${row.PRIORITY=='1'}">Urgent</c:when>
                              </c:choose>
                             </td>
                             </tr>
              </c:forEach>
         </table>
         </c:when>
         <c:otherwise>
         <div class="ui-state-highlight ui-corner-all">
                   <p><b>No results Found. Please try again with a different search criteria!</b> </p>
              </div>
         </c:otherwise>
         </c:choose>
         </form>
              <%@ include file="/includes/footer.jsp"%>
         </div>
         </body>
    </html>

    What is ResearchResults?
    Is it a request parameter or is it a request attribute?
    Parameters and attributes are two different things.
    Request parameters: the values submitted from the form. Always String.
    Request attributes: objects stored into scope by your code.
    They are also accessed slightly differently in EL
    java syntax == EL syntax
    request.getParameter("myparameter") == ${param.myparameter}
    request.getAttribute("myAttribute") == ${requestScope.myAttribute}
    You are referencing the attribute in your scriptlet code, but the parameter in your JSTL/EL code.
    Which should it be?
    cheers,
    evnafets

  • Problem getting krUFS values from SunMC 4.0 on Sunfire X2100

    If I use the snmpget command to ask the SunMC agent for the krUFS oids I'm interested in (Mount point, SystemSize, PctUsedSpace), I get no error, but I get no data either (i.e. returned value is "" for all).
    I'm able to get this data for T1000 and Sun Blade 2500's w/ no problem.

    Hi Arutherford,
    Arutherford wrote:
    If I use the snmpget command to ask the SunMC agent for the krUFS oids I'm interested in (Mount point, SystemSize, PctUsedSpace), I get no error, but I get no data either (i.e. returned value is "" for all).
    I'm able to get this data for T1000 and Sun Blade 2500's w/ no problem.So, you're getting numbers from SPARC systems, but not x86? Is it possible some of your systems have the "Kernel Reader" module and other have "Kernel Reader Simple" loaded? Or is the X2100 maybe using ZFS (which SunMC doesn't track, you'd need SystemMonitor)
    Regards,
    [email protected]
    http://www.HalcyonInc.com

  • How to get XML value using servlet?

    how to get values from a XML file using servlet ? Thank you.
    for example: how can I get the location value (aaa) from this XML file?
    abc.xml:
    <business>
    <location>aaa</location>
    </business>

    Try to use XML Parsers to do the job.
    Use DOM or SAX Parsers that are freely available.
    Some of the popular ones are xerces, DOM, SAX.

  • Problem getting XML GeometryAdapter

    I am having a problem acquiring an XML GeometryAdapter. I can get a GeometryFactory and register the AdapterXML successfully. But when getting the GeometryAdapter, xmlAdapter comes back as null. Any ideas?
    import oracle.sdoapi.adapter.AdapterXML;
    import oracle.sdoapi.adapter.GeometryAdapter;
    import oracle.sdoapi.geom.*;
    GeometryFactory geoFact = OraSpatialManager.getGeometryFactory();
    if (!OraSpatialManager.registerGeometryAdapter(new AdapterXML(geoFact))) {
    System.out.println("The XML Geometry Adapter could not be registered.");
    return;
    GeometryAdapter xmlAdapter = OraSpatialManager.getGeometryAdapter("XML", "1.0", Geometry.class, null, FileOutputStream.class);
    Running on Oracle 9.2.0.1.0.
    Thanks,
    Gary

    I find a solution from this topic. Thanks for the helpers.
    http://forums.java.sun.com/thread.jsp?forum=34&thread=67558
    InputSource input = new InputSource(new InputStreamReader(url.openStream()));

  • Problem getting updated values from DCIteratorBinding

    Hello,
    I have one af:table which is binded using DataControl based on ViewObject.
    I typed some values in each column and now I want to access those values from the iterator but its giving me initial value at the time page loaded.
    //getting the iterator
    DCIteratorBinding itr = ADFUtils.findIterator("ViewObject1Iterator");
    Row row[] = itr.getAllRowsInRange();
    String deptName = (String) row[1].getAttribute("deptName");
    The strange thing is, I have another ViewObject binded to af:table and it works fine I do not know whats wrong here
    any ideas?
    many thanks

    Hi,
    the code seems okay and if it works with another VO but not this particular, then the issue obviously is not in teh Java code but the page code. Since you have a working and a not working solution, i don't think its an issue with the product.
    Frank

  • Problem getting Multiple Values From BPEL.

    I have created the BPEL process (jdeveloper 11g) R1 which reads the data from database adapter and I have to iterate the values one by one from while loop.
    I have created while activity and I want to assign my column value to one variable , I am following the concat option for assigning value.but I a was not able to concat my generated string please help me out.
    Below are the Expression that should be concated.
    bpws:getVariableData('Variable_ForCount','/client:WfApproval/client:WFApproval/client:approverName')
    I want to make the Expression as per following:
    bpws:getVariableData('Variable_ForCount','/client:WfApproval/client:WFApproval[bpws:getVariableData(My Count)]/client:approverName')
    can we use Escape for ' .
    Thank you,
    Sandeep.

    Hi,
    Here is an example from one of my flows - may be that will help you form your query:
    <copy>
    <from expression="bpws:getVariableData('receivePedidoFromSelector_InputVariable','payload')/ns2:ServicioMovil/ns2:Componentes/ns2:BONO[bpws:getVariableData('CuentaBONO')]/ns2:InstanciaComponente"/>
    <to variable="AuxiliarAddons"
    part="payload"
    query="/ns133:AddonsRequest/ns133:Addons/ns133:Addon/ns133:AddonIdCRM"/>
    </copy>
    CuentaBONO -- this is the array index

  • Problem getting accumulative value by a user defined week

    I have a requirement where I have to accumulative values by week where a week is defined as Sunday to Saturday. For example:
    date           value     acc_value          
    9/1/2010     2     2          Wed     
    9/2/2010     5     7          Thur     
    9/3/2010     3     10          Fri     
    9/4/2010     4     14          Sat     
    9/5/2010     8     8          Sun     value is reset
    9/6/2010     2     10          Mon     
    9/7/2010     1     11         Tue     
    9/8/2010     4     15         Wed     
    9/9/2010     7     22         Thu     
    9/10/2010     4     26          Fri     
    9/11/2010     5     31         Sat     Any help would be appreciated.
    Thanks.

    Try this:
    with my_table as (select to_date('01/09/2010', 'dd/mm/yyyy') dt, 2 value from dual union all
                      select to_date('02/09/2010', 'dd/mm/yyyy') dt, 5 value from dual union all
                      select to_date('03/09/2010', 'dd/mm/yyyy') dt, 3 value from dual union all
                      select to_date('04/09/2010', 'dd/mm/yyyy') dt, 4 value from dual union all
                      select to_date('05/09/2010', 'dd/mm/yyyy') dt, 8 value from dual union all
                      select to_date('06/09/2010', 'dd/mm/yyyy') dt, 2 value from dual union all
                      select to_date('07/09/2010', 'dd/mm/yyyy') dt, 1 value from dual union all
                      select to_date('08/09/2010', 'dd/mm/yyyy') dt, 4 value from dual union all
                      select to_date('09/09/2010', 'dd/mm/yyyy') dt, 7 value from dual union all
                      select to_date('10/09/2010', 'dd/mm/yyyy') dt, 4 value from dual union all
                      select to_date('11/09/2010', 'dd/mm/yyyy') dt, 5 value from dual)
    -- end of mimicking your data in a table called my_table
    select dt,
           value,
           sum(value) over (partition by trunc(dt+1, 'iw') order by dt) acc_value,
           to_char(dt, 'dy') dy
    from   my_table
    order by dt;
    DT              VALUE  ACC_VALUE DY
    01/09/2010          2          2 wed
    02/09/2010          5          7 thu
    03/09/2010          3         10 fri
    04/09/2010          4         14 sat
    05/09/2010          8          8 sun
    06/09/2010          2         10 mon
    07/09/2010          1         11 tue
    08/09/2010          4         15 wed
    09/09/2010          7         22 thu
    10/09/2010          4         26 fri
    11/09/2010          5         31 sat

  • How to get the value of a node content in XML Literal in BPEL 2.0?

    Hi!
    I have a Problem Build A Expression in activity allocation XML Literal one, I would like to help me ...
    Well, I have the same activity in BPEL 1.0 version and now is Different is BPEL 2.0,
    I have a Web Service < WSEjecutaComandos > Where to have a function Remote Commands That runs ,
    Inputs my Web Service: " numEquipo int , String [ ] comandos , int numCta , int publicar , int version ,  String fecha"
    The second argument is a string array type ..
    Now in my BPEL process , I make is the following assignment:
    <assign name="AssignCreaPath">
                        <copy>
                            <from>
                             <literal>
                                  <fnCRexecElement xmlns="http://servicios/">
                                       <numEquipo>2</numEquipo>
                                       <comandos>mkdir etl/entradas/mmkis/</comandos>
                                       <numCuenta>1</numCuenta>
                                       <publicar>0</publicar>
                                 </fnCRexecElement>
                            </literal>
                            </from>
                            <to>$InvokeClear_fnCRexec_InputVariable.parameters</to>
                        </copy>
                        <copy>
                            <from>concat(ora:getContentAsString($InvokeClear_fnCRexec_InputVariable.parameters/comandos),$inputVariable.payload/client:fecha)</from>
                            <to>$InvokeClear_fnCRexec_InputVariable.parameters/comandos</to>
                        </copy>
                        <copy>
                            <from>$InvokeVersion_fnGetVersionProcesoByFecha_OutputVariable.parameters/version</from>
                            <to>$InvokeClear_fnCRexec_InputVariable.parameters/version</to>
                        </copy>
                        <copy>
                            <from>$inputVariable.payload/client:fecha</from>
                            <to>$InvokeClear_fnCRexec_InputVariable.parameters/fecha</to>
                        </copy>
                    </assign>
    Well the conflict that I have is this,
    previously defined a assign with XML Fragment copied it to the payload to the input variable Web Service (WSEjecutaComandos),
    and the XML is copied in each of the variables ,
    Then concatenate input values ( I remarked in red) < comandos > with the value from "fecha" ( String) , and again copy Variable < comandos > and did not have any problems
    but now with the new BPEL 2.0, I do the same thing using now Literal XML ( that good!) but the option to concatenate (I remarked in red) and copied to the same variable ( I remarked in blue ), I mark the following error :
    I should know, I'm doing wrong That , or you need to make XPath Function That The Value They already have the variable < comandos> will concatenate fecha ,
    and is the final value for my entry my Web Service.
    must be defined as the type values array <comandos[i]>
    define the following activities before $InvokeClear_fnCRexec_InputVariable.parameters/comandos[1],
    but it seems that this BPEL 2.0 does not respect me as index brackets .
    Thank you...
    Cheers,

    thanks for your help , it served me!
    I need to get the value of XMLNodeList <comandos> to concatenate the date.
    Attempt to XPath function ( ora:getContentAsString(NodeList elementAsNodeList)), but returns me a String, but a nodoXML.
    Cheers,
    Maby

  • To Get the value of a node in a XML file which is outside the envelope

    Hi Everyone,
    I am uploading data in a XML file into Oracle tables. I am using oracle 9i release 2. How to get a value of a node outside the envelope.
    Here is my xml file.
    <Response>
    <TaskNo>14</TaskNor>
    <ZoneResponse>
    <GetServiceStatusResponse xmlns="http://mws.zonemws.com/Shipment/2010-10-01/">
    <GetServiceStatusResult>
    <Status>GREEN</Status>
    <Date>2011-06-03</Date>
    </GetServiceStatusResult>
    <Metadata>
    <Id>c9488a06</Id>
    </Metadata>
    </GetServiceStatusResponse>
    </ZoneResponse>
    </Response>
    This is the response xml we are getting from the supplier. I do want to store all the values in an oracle table, including TaskNo(14). TaskNo is the main value
    here. I am using dbms_xmlparser and dbms_xmldom in PL/SQL. I am able to get the values inside the envelope, but not the outside(taskno). It is not showing any errors. It is processing all
    other values. I Posted this in the XML DB section also. Please help me to solve this issue. Any help,tips and suggesstion will be highly appreciated. Thanks in advance
    --Vimal                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi,
    I am providing some additional info like procedure, table structure and sample xml file so that you can get a clear idea about my problem and help me.
    My Procedure
    PROCEDURE xml_upload (
    p_directory IN VARCHAR2,
    p_server_directory IN VARCHAR2,
    p_filename IN VARCHAR2
    AS
    l_bfile BFILE;
    l_clob CLOB;
    l_parser DBMS_XMLPARSER.parser;
    l_doc DBMS_XMLDOM.domdocument;
    l_noderowset DBMS_XMLDOM.domnode;
    l_noderow DBMS_XMLDOM.domnode;
    l_nodecount NUMBER;
    l_Resultlist DBMS_XMLDOM.domnodelist;
    l_request_id VARCHAR2 (300);
    l_task_number NUMBER;
    l_tasknum_list DBMS_XMLDOM.domnodelist;
    l_service_list DBMS_XMLDOM.domnodelist;
    l_time_list     DBMS_XMLDOM.domnodelist;
    l_tasknode DBMS_XMLDOM.domnode;
    l_servicenode DBMS_XMLDOM.domnode;
    l_temp VARCHAR2 (1000);
    l_table_name VARCHAR2 (100);
    l_cmd_execution VARCHAR2 (1000);
    l_orig_file_with_path VARCHAR2 (1000);
    l_dest_file_with_path VARCHAR2 (1000);
    l_status custom.task_status.status%TYPE;
    l_time custom.task_status.timestamps%TYPE;
    l_rows NUMBER;
    l_message SYS.XMLTYPE;
    l_return_status NUMBER;
    TYPE tab_type IS TABLE OF custom.task_status%ROWTYPE;
    t_tab tab_type := tab_type ();
    PROCEDURE write_exception (
    p1_filename VARCHAR2,
    p_comments VARCHAR2,
    p_rows_created NUMBER
    IS
    BEGIN
    read_xml_file (p_directory, p_filename, l_message, l_return_status);
    -- Convert the xml to a clob
    l_clob := l_message.getclobval();
    -- Create a parser.
    l_parser := DBMS_XMLPARSER.newparser;
    -- Parse the document and create a new DOM document.
    DBMS_XMLPARSER.parseclob (l_parser, l_clob);
    l_doc := DBMS_XMLPARSER.getdocument (l_parser);
    -- Free any resources associated with the CLOB and Parser
    -- dbms_lob.freetemporary(v_clob);
    DBMS_XMLPARSER.freeparser (l_parser);
    l_noderowset :=
    DBMS_XMLDOM.item
    (DBMS_XMLDOM.getchildnodes (DBMS_XMLDOM.makenode (l_doc)),
    0
    l_nodecount :=
    DBMS_XMLDOM.getlength (DBMS_XMLDOM.getchildnodes (l_noderowset))
    - 1;
    t_tab.EXTEND;
    FOR i IN 0 .. l_nodecount
    LOOP
    l_noderow :=
    DBMS_XMLDOM.item (DBMS_XMLDOM.getchildnodes (l_noderowset), i);
    l_Resultlist :=
    DBMS_XMLDOM.getelementsbytagname
    (DBMS_XMLDOM.makeelement (l_noderow),
    'RequestId'
    l_request_id :=
    DBMS_XMLDOM.getnodevalue
    (DBMS_XMLDOM.getfirstchild
    (DBMS_XMLDOM.item (l_Resultlist,
    0
    END LOOP;
    FOR i IN 0 .. l_nodecount
    LOOP
    l_noderow :=
    DBMS_XMLDOM.item (DBMS_XMLDOM.getchildnodes (l_noderowset), i);
    l_service_list:=
    DBMS_XMLDOM.getelementsbytagname
    (DBMS_XMLDOM.makeelement (l_noderow),
    'Status'
    l_status:=
    DBMS_XMLDOM.getnodevalue
    (DBMS_XMLDOM.getfirstchild
    (DBMS_XMLDOM.item (l_service_list,
    0
    l_time_list:=
    DBMS_XMLDOM.getelementsbytagname
    (DBMS_XMLDOM.makeelement (l_noderow),
    'Timestamp'
    l_time:=
    DBMS_XMLDOM.getnodevalue
    (DBMS_XMLDOM.getlastchild
    (DBMS_XMLDOM.item (l_time_list,
    0
    END LOOP;
    select
    extractvalue(column_value,'/Response/TaskNumber') into l_task_number
    from
    table(xmlsequence(xmltype('<Response>
    <TaskNumber>14</TaskNumber>
    <ZoneResponse>
    <GetServiceStatusResponse xmlns="http://mws.zoneaws.com/InboundShipment/2010-10-01/">
    <GetServiceStatusResult>
    <Status>GREEN</Status>
    <Timestamp>2011-06-03T22:17:17.313Z</Timestamp>
    </GetServiceStatusResult>
    <Metadata>
    <RequestId>c9488a06-73c6-474e-b356-51d5f8feec00</RequestId>
    </Metadata>
    </GetServiceStatusResponse>
    </ZoneResponse>
    </Response>
    t_tab (t_tab.LAST).status:= l_status;
    t_tab (t_tab.LAST).timestamps:= l_time;
    t_tab (t_tab.LAST).amz_request_id:= l_request_id;
    t_tab (t_tab.LAST).tasknumber:= l_task_number;
    -- Insert data into the real Staging table from the table collection.
    FORALL i IN t_tab.first .. t_tab.last
    INSERT INTO custom.task_status VALUES t_tab(i);
    COMMIT;
    DBMS_XMLDOM.freedocument (l_doc);
    DBMS_LOB.freetemporary (l_clob);
    DBMS_XMLPARSER.freeparser (l_parser);
    DBMS_XMLDOM.freedocument (l_doc);
    DBMS_LOB.freetemporary (l_clob);
    DBMS_XMLPARSER.freeparser (l_parser);
    DBMS_XMLDOM.freedocument (l_doc);
    END rrs_xml_upload;
    Sample File:
    <Response>
    <TaskNumber>14</TaskNumber>
    <ZoneResponse>
    <GetServiceStatusResponse xmlns="http://mws.zoneaws.com/InboundShipment/2010-10-01/">
    <GetServiceStatusResult>
    <Status>GREEN</Status>
    <Timestamp>2011-06-03T22:17:17.313Z</Timestamp>
    </GetServiceStatusResult>
    <Metadata>
    <RequestId>c9488a06-73c6-474e-b356-51d5f8feec00</RequestId>
    </Metadata>
    </GetServiceStatusResponse>
    </ZoneResponse>
    </Response>
    Table: task_status
    tasknumber number,
    status varchar2(100),
    timestamps varchar2(100),
    requestid varchar2(100)
    all I want is to populate the data from xml file to the particulare table. I can do that with the above procedure.
    But In this below mentioned part of my procedure , I want to pass the file name instead of giving the entire content.
    select
    extractvalue(column_value,'/Response/TaskNumber') into l_task_number
    from
    table(xmlsequence(xmltype('<Response>
    <TaskNumber>14</TaskNumber>
    <ZoneResponse>
    <GetServiceStatusResponse xmlns="http://mws.zoneaws.com/InboundShipment/2010-10-01/">
    <GetServiceStatusResult>
    <Status>GREEN</Status>
    <Timestamp>2011-06-03T22:17:17.313Z</Timestamp>
    </GetServiceStatusResult>
    <Metadata>
    <RequestId>c9488a06-73c6-474e-b356-51d5f8feec00</RequestId>
    </Metadata>
    </GetServiceStatusResponse>
    </ZoneResponse>
    </Response>
    Alex or any other oracle pl/sql experts please help me to solve this issue.
    FYI : I am using Oracle 9.2.0.8.0
    Thanks,
    Vimal..
    Edited by: Vimal on Jun 13, 2011 4:10 PM

  • Getting null value while parsing "XML String" with  encoding WINDOWS-1252.

    Hi,
    when I am converting the Follwoing "xml string " to Document, I am getting the "null" as a document value.
        String strXML =  "<?xml version="1.0" encoding="WINDOWS-1252"?>
                              <category name="SearchByAttributes" value="Search By Attributes">
                                <item name="ORDER_LINE_ID" description="Application Search Attributes" >
                                   <attribute name="Sequence" value="0001"/>
                                 </item>
                                </category>"      
    My "xml string" has the encoding vaule: WINDOWS-1252.
    I am using the following code to convert the "xml string" to Document. I am getting the Document values as a "null" while converting the above "string xml"
            String strXML = //my above string xml.
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            docBuilderFactory.setIgnoringElementContentWhitespace(true);
            docBuilder = docBuilderFactory.newDocumentBuilder();
            doc = docBuilder.parse(new InputSource(new StringReader(strXML)));              
            System.out.println("doc value.."+doc)//I am getting null value for "doc".
    Can anyone help me to resolve the issue.

    Thagelapally wrote:
    I am coverting the below "XML string" to Document, once it is converted I am reading that Document,which have an "attribue" Element in.
      String strXML = "<?xml version="1.0" encoding="WINDOWS-1252"?>
    <category name="SearchByAttributes" value="Search By Attributes">
    <item name="ORDER_LINE_ID" description="Application Search Attributes" >
    <attribute name="Sequence" value="0001"/>
    </item>
    </category>" I am using the above code to read the Document. When run the code in "OC4J Server" and using Jdeveloper as an editor,I am able to perfectly read the "attribute" element in the document with out any problem.Println statement printing as I expected.
    System.out.println("Element Name..."+listOfAtt.getNodeName());
    //getting Element Name as...."attribute"(as expected)
    System.out.println("Element Attibrute list....."+elementAtt);
    //getting Element Attribute list as an...."oracle.xml.parser.v2.XMLAttrList@afe"But when run the same code(reading the same Document) in Tomcat and Eclipse,println satatement not printing as i expected.
    System.out.println("Element Name..."+listOfAtt.getNodeName());
    //getting Element Name as...."#text"(I am expecting output value "attribute" but it is printing "#text" which i don't know)
    System.out.println("Element Attibrute list....."+elementAtt);
    //getting Element Attribute list as an...."null"(I am expecting output value object reference but it is printing "null"
    (without the rest of the code, i'm guessing that) most likely you are grabbing the first child node of the item element. however, you are not accounting for some text nodes that are most likely in that list, like the whitespace between the item element and the attribute element. please go read some tutorials on xml, there are thousands of them out there, and they will answer all you initial questions much more efficiently than posting each step to the forums.

  • Problem regarding XML field value to XML generation

    Hi Everybody,
    I am facing a typical problem. I am storing xml in an xml datatype field in a table. But when I am generating physical file from the xml field, '&amp;' in the xml field is getting converted into '&' in the physical file. But I want '&amp;' to
    be intact.
    Can anyone faced the issue or have any idea of solving this?
    Thanks & Regards,
    Anujit Karmakar
    Anujit Karmakar Sr. Software Engineer

    Hi Anujit,
    How do you generate physical file from the xml field?
    I make a test on my computer using your XML data with the following scripts, '&amp;' exists in my exported file.
    DECLARE @testXML XML
    SELECT @TestXML='<ENVELOPE>
    <HEADER>
    <TALLYREQUEST>Import Data</TALLYREQUEST>
    </HEADER>
    <BODY>
    <IMPORTDATA>
    <LEDGER NAME="Prafulla Ghosh">
    <ADDRESS.LIST TYPE="String">
    <ADDRESS>BEHIND DILIP MATH &amp; DISARI CLUB</ADDRESS>
    </ADDRESS.LIST>
    <MAILINGNAME.LIST TYPE="String">
    <MAILINGNAME>Prafulla Ghosh</MAILINGNAME>
    </MAILINGNAME.LIST>
    <STATENAME>West Bengal</STATENAME>
    </LEDGER>
    </IMPORTDATA>
    </BODY>
    </ENVELOPE>'
    -- We Store the contents of an XML variable to a table
    CREATE TABLE MyXMLTable
    xCol XML
    INSERT INTO MyXMLTable ( xCol )
    SELECT @testXML
    We Save an XML value to a file.
    DECLARE @Command VARCHAR(255)
    DECLARE @Filename VARCHAR(100)
    SELECT @Filename = 'C:\Files\TestXMLRoutine'
    /* we then insert a row into the table from the XML variable */
    /* so we can then write it out via BCP! */
    SELECT @Command = 'bcp "select xCol from ' + DB_NAME()
    + '..MyXMLTable" queryout '
    + @Filename + ' -w -T -S' + @@servername
    EXECUTE master..xp_cmdshell @command
    --so now the xml is written out to a file
    SELECT CONVERT(nVARCHAR(max),BulkColumn)
    FROM OPENROWSET(BULK 'C:\Files\TestXMLRoutine', SINGLE_BLOB) AS x
    go
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

Maybe you are looking for

  • Purchase Order with VAT

    Hi Is it possible to include VAT when creating Purcahse Orders such that the VAT is NOT included in the cost of stocks? Thanks Nadia

  • Missing library after 10.1 update

    I just ran the suggested update to 10.1. Right after it installed and opened I noticed my entire library was missing in itunes (music, apps, movies, etc). The only things that was there was a few albums I had purchased directly from iTunes. I checked

  • Problem When Update BP Address Billto and Shipto

    I remove Bill To and Ship To address picture link http://www.uploadtoday.com/thumb.php?219755&A=437678 Then I coding DI to create Bill To and Ship To with same AddressName But Difference Street,Block ... and then i use update method the result is Bil

  • Javascript error when starting Firefox 5

    I've just upgraded Firefox from 4.0.1 to 5. Now when I start Firefox, the following error message appears: JavaScript Application TypeError: Components.classes[cid] is undefined When I click the OK button, Firefox loads. It looks normal, and seems to

  • Installing VC 7.0 to Use with EP 6.0  sp 16

    hi all, Is it possible to use VC7.0 with EP 6.0 sp16? If I download NW2004s, do i need to set up the entire infrastructure to use only VC ? I just need to have flash runtime for my analytics application. We are not planning to upgrade to NW2004s in t