Download XMl file from SFTP: performance issue

Hi All,
I am downloading an XML file of size almost 15-20 MB from an SFTP using winSCP.
A C# code is written in SSIS script component which loops the remote directory to find the recent file then it downloads it. This process is taking almost 20 minutes to run in SSIS.
Could anyone please suggest me the optimized solution.
few keynotes: 1> on SFTP, there will be always more number of files, say 50-60.
                     2> file size may grow with time
                     3> comparing filename to find latest file because filename is suffixed with timestamp e.g. filename_YYYYMMDD.xml
below is my C# code used in script component
public void Main()
string hostName = (string)Dts.Variables["HostName"].Value;
string userName = (string)Dts.Variables["UserName"].Value;
string password = (string)Dts.Variables["Password"].Value;
string sshHostKeyFingerprint = (string)Dts.Variables["SshHostKeyFingerprint"].Value;
string winscpexecutablePath = (string)Dts.Variables["winscpExecutablePath"].Value;
string localOutPath = (string)Dts.Variables["User::localOutPath"].Value;
string remoteDirectory = (string)Dts.Variables["User::ftpRemoteDirectory"].Value;
string latestFileName = null;
List<DateTime> fileDate = new List<DateTime>();
Dictionary<DateTime, string> dicfiledate = new Dictionary<DateTime, string>();
// Setup session options
SessionOptions sessionOptions = new SessionOptions
Protocol = Protocol.Sftp,
HostName = hostName,
UserName = userName,
Password = password,
SshHostKeyFingerprint = sshHostKeyFingerprint
try
using (Session session = new Session())
session.ExecutablePath = winscpexecutablePath;
session.Open(sessionOptions);
RemoteDirectoryInfo directory = session.ListDirectory(remoteDirectory);
RemoteFileInfo[] fileInfo = new RemoteFileInfo[directory.Files.Count];
if (fileInfo.Length <= 0)
Dts.Variables["User::isFileExist"].Value = false;
else
Dts.Variables["User::isFileExist"].Value = true;
List<string> lstFileNames = new List<string>();
for (int i = 0; i < directory.Files.Count; i++)
lstFileNames.Add(directory.Files[i].Name);
Dictionary<DateTime, int> dictFinal = new Dictionary<DateTime, int>();
for (int i = 0; i < lstFileNames.Count; i++)
if (lstFileNames[i].StartsWith("metrics_"))
int year = Convert.ToInt32(lstFileNames[i].Substring(8, 4));
int month = Convert.ToInt32(lstFileNames[i].Substring(12, 2));
int date = Convert.ToInt32(lstFileNames[i].Substring(14, 2));
dictFinal.Add(new DateTime(year, month, date), i);
var sortedDateTime = dictFinal.Keys.OrderByDescending(x => x);
int latestFileIndex = dictFinal[Convert.ToDateTime(sortedDateTime.First())];
latestFileName = lstFileNames[latestFileIndex];
// files transfer mode
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.GetFiles(remoteDirectory + latestFileName, @"" + localOutPath + @"\", false, transferOptions);
transferResult.Check();
// Print results
bool fireAgain = false;
foreach (TransferEventArgs transfer in transferResult.Transfers)
Dts.Events.FireInformation(0, null,
string.Format("Download of {0} succeeded", transfer.FileName),
null, 0, ref fireAgain);
Dts.TaskResult = (int)DTSExecResult.Success;
catch (Exception e)
Dts.Events.FireError(0, null,
string.Format("Error when using WinSCP to Download files: {0}", e),
null, 0);
Dts.TaskResult = (int)DTSExecResult.Failure;

Hi Rahul,
Is it possible for you to get the latest file by comparing the CreationTime of these files other than comparing the file names? If so, you can try the code in Reza’s blog:
http://www.rad.pasfu.com/index.php?/archives/30-Find-Last-Created-File-in-Special-Directory-SSIS.html 
Alternatively, maybe you can try a free third party SFTP Task available on the CodePlex:
http://ssissftp.codeplex.com/ 
Regards,
Mike Yin
TechNet Community Support

Similar Messages

  • INDESIGN GLITCH: Creating an XML file from Indesign Layout - Issue "Using more than one line of GREP" & "Map Styles to Tags"

    I currently create XML from InDesign CC by Mapping Style to Tags.
    - The Paragraph Styles are manually apply to text. These styles include multiple lines of GREP to automatically apply character styles.
    - I map some of the paragraph and character styles to prebuilt tags that have the same name "Map Styles to Tags".
    I have found through trouble-shooting that InDesign is unable to "Map Styles to Tags" for more than one line of GREP. I therefore have to chose which line of GREP to automatically tag and which lines to manually tag.
    Please can anyone help, I need to automatically map tags to at least two character styles in one paragraph via GREP.
    Thanks,

    OK. The best I can suggest is running a Find/Change like this:
    Which will actually apply the character style to the italics (and I would do the bold as well just to make certain). Then run the Map Styles to Tags again, using the Apply by Name. Which will tag the italics.
    I don't know why ID can map to the bold and not the italic character style. It either should do them both (as in this instance) or none at all as the character styles are not actually applied by the grep, just the styling from the character styles.
    Mike

  • Problem in downloading XML file.

    Hi,
    I am trying to download XML file from application server to internal table. I am using statement
          READ DATASET gv_file_name_with_dir
                 INTO gv_file.
    DATA:        gv_file_name_with_dir TYPE char128,
                     gv_file         TYPE string.
    I am gettiing dump.
    A character set conversion is not possible
    Please reply as soon as possible.
    Regards,
    Mukesh Kumar

    Hello mukesh kumar ,
    Try with this procedure you will get it.
    DATA : lv_filename TYPE char1000.
    DATA: BEGIN OF gi_text OCCURS 0,
            champ(1000),
          END OF gi_text.
          READ DATASET lv_filename INTO gi_text.
    if sy-subrc eq 0.
          IF gi_text IS NOT INITIAL.
            APPEND gi_text.
          ENDIF.
    endif.
    Regards,
    Santosh Marupally

  • Downloading an XML file from Website through BPEL/ADAPTER

    Hi,
    I want to download an xml file from one webpage through BPEL. I am using jdeveloper 10.1.3.3 to create a BPEL process and Adapters.
    Is there anyway to download the xml file from the site through FUSION middleware.

    what do you mean download, is it a site where you click a hyperlink then down load the file.
    This is not possible as this is invoked by human intervention. SOA suite is invoked by events. If you want to perform this kind of function you would need to create a jave service to perform this.
    Is there any posibility that there is a FTP link that you could use?
    cheers
    James

  • Is there a way to download an XML file from internet to internal table.

    Hi,
    We have Two system that first is "R/3 4.6C"   and   second is  "WebAS 6.20" and prior is first.
    I tried so much ways, i searched Function modules, classes, transactions ...
    But i have not found a way to download and XML file from internet like "http://www.tcmb.gov.tr/kurlar/today.xml" to internal table.
    is it possible to do ?
    if not, i will do with Delphi and RFC but i dont want to do this outside from SAP.
    thanks
    ibrahim

    Hi Ibrahim Bhai,
    I am Facing same kind of issue of getting Data of url into internal table.
    I want to know what are the settings that need to be made in SM59 to achieve this.
    What are the parameters that need to be passed while call to FM 'http_get' .
    Full Points will be rewarded.
    In Advance Thanks.
    With Regards,
    Shahrukh.

  • Issue with uploading XML file from application server into internal table

    i Need to fetch the XML file from the application server and place into internal table and i am getting error message while using the functional module   SMUM_XML_PARSE and the error message is "line   1 col   1-unexpected symbol; expected '<', '</', entity reference, character data, CDATA section, processing instruction or comment" and could you please let me know how to resolve this issue?  
        TYPES: BEGIN OF T_XML,
                 raw(2000) TYPE C,
               END OF T_XML.
    DATA:GW_XML_TAB TYPE  T_XML.
    DATA:  GI_XML_TAB TYPE TABLE OF T_XML INITIAL SIZE 0.
    DATA:GI_STR TYPE STRING.
    data:  GV_XML_STRING TYPE XSTRING.
    DATA: GI_XML_DATA TYPE  TABLE OF SMUM_XMLTB INITIAL SIZE 0.
    data:GI_RETURN TYPE STANDARD TABLE OF BAPIRET2.
        OPEN DATASET LV_FILE1 FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        IF SY-SUBRC NE 0.
          MESSAGE 'File does not exist' TYPE 'E'.
        ELSE.
          DO.
    * Transfer the contents from the file to the work area of the internal table
            READ DATASET LV_FILE1 INTO GW_XML_TAB.
            IF SY-SUBRC EQ 0.
              CONDENSE GW_XML_TAB.
    *       Append the contents of the work area to the internal table
              APPEND GW_XML_TAB TO GI_XML_TAB.
            ELSE.
              EXIT.
            ENDIF.
          ENDDO.
        ENDIF.
    * Close the file after reading the data
        CLOSE DATASET LV_FILE1.
        IF NOT GI_XML_TAB IS INITIAL.
          CONCATENATE LINES OF GI_XML_TAB INTO GI_STR SEPARATED BY SPACE.
        ENDIF.
    * The function module is used to convert string to xstring
        CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
          EXPORTING
            TEXT   = GI_STR
          IMPORTING
            BUFFER = GV_XML_STRING
          EXCEPTIONS
            FAILED = 1
            OTHERS = 2.
        IF SY-SUBRC <> 0.
          MESSAGE 'Error in the XML file' TYPE 'E'.
        ENDIF.
      ENDIF.
      IF GV_SUBRC = 0.
    * Convert XML to internal table
        CALL FUNCTION 'SMUM_XML_PARSE'
          EXPORTING
            XML_INPUT = GV_XML_STRING
          TABLES
            XML_TABLE = GI_XML_DATA
            RETURN    = GI_RETURN.
      ENDIF.
      READ TABLE GI_RETURN TRANSPORTING NO FIELDS WITH KEY TYPE = 'E'.
      IF SY-SUBRC EQ 0.
        MESSAGE 'Error converting the input XML file' TYPE 'E'.
      ELSE.
        DELETE GI_XML_DATA WHERE TYPE <> 'V'.
        REFRESH GI_RETURN.
      ENDIF.

    Could you please tel me  why the first 8 lines were removed, till <Soap:Body and also added the line <?xml version="1.0" encoding="UTF-8"?> in the beggining .
    Becuase there will be lot of  XML files will be coming from the Vendor daily and that should be uploaded in the application server and should update in the SAP tables based on the data in the XML file.
    what information i need to give to vendor that do not add the first 8 lines in the XML file and add the line in the beggining <?xml version="1.0" encoding="UTF-8"?>   ??????
    Is there any other way we can do with out removing the lines?

  • Downloading an XML file from Website through FUSION middleware

    Hi,
    I want to download an xml file from one website through BPEL. I am using jdeveloper 10.1.3.3 to create a BPEL process and Adapters.
    How can i download the xml file from the site through FUSION middleware?

    Another option would be to write a smal Java class the uses URLConnect to connect to the URL in question and use WSIF to bind it to the BPEL process.
    Just google for sample code.
    --olaf                                                                                                                                                                                                                                                                                                                                                                                           

  • Issues opening downloaded docx files from the internet on my mac air...

    I have owned my Mac Air for nearly 1.5 yrs and never had an issue, until yestrday.
    I can download docx files from the internet no problem, but when I go to open them (after they have saved into my downloads folder) a pop-up window with "convert file from" appears? Alas I can not open any downloaded docx files from the internet/email etc! This is making work very difficult.
    Any suggestions would be greatly appreciated!

    that explains a lot, you didnt mention that critical part before.  I upload a lot to FTP sites as well
    originals fine.... but thru the server theyre corrupted, .....that narrows everything down.
    have you contacted sys admin for the server about this?
    see here:
    http://stackoverflow.com/questions/2477564/why-are-docx-files-being-corrupted-wh en-downloading-from-an-asp-net-page

  • Download a xml file from a server

    Hi guys,
    First of all excuse me for my disorganized english.
    I have a JSP applicaction using tomcat 4.1 wich is accesed from internet using an IIS server for the redirection.
    In my servlet I'm generating a XML file wich will be downloaded by the client, in the servlet I set up this header, like in the others forums some fellows told.
    response.setHeader("Cache-Control","no-cache");
    response.setHeader("Pragma","no-cache");
    response.setDateHeader ("Expires", 0);
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename=\"" + nombreBorrador + "\"");
    I'm having a problem downloading a file from a server, the download dialog box says in the filename the name of the servlet instead of the name of the XML file.
    Any comments will be really appreciated.
    Best Regards
    JCh.-

    hai,
    give a print of ur variable "nombreBorrador" and check whether the name of xml file is getting passed correctly.
    Ani

  • Issue with reading a xml file from xsl

    Hi,
    When I am trying to read a xml file from xsl, I am getting unwanted output.
    Following is the XSL:
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
      <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
      <mapSources>
        <source type="XSD">
          <schema location="../xsd/B2BMarketProperties.xsd"/>
          <rootElement name="ReceipentIDType" namespace="http://www.example.org"/>
        </source>
      </mapSources>
      <mapTargets>
        <target type="XSD">
          <schema location="../xsd/B2BMarketProperties.xsd"/>
          <rootElement name="ReceipentIDType" namespace="http://www.example.org"/>
        </target>
      </mapTargets>
      <!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.4.0(build 110106.1932.5682) AT [TUE DEC 03 16:06:03 EST 2013]. -->
    ?>
    <xsl:stylesheet version="1.0"
                    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
                    xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
                    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
                    xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:ns0="http://www.example.org"
                    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
                    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:med="http://schemas.oracle.com/mediator/xpath"
                    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
                    xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
                    xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
                    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    xmlns:ora="http://schemas.oracle.com/xpath/extension"
                    xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
                    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
                    exclude-result-prefixes="xsi xsl ns0 xsd bpws xp20 mhdr bpel oraext dvm hwf med ids bpm xdk xref ora socket ldap">
      <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
      <xsl:variable name="ReceipentID" select="document('../xsd/B2BMarketProperties.xml')"/>
      <xsl:template match="/">
        <ns0:ReceipentIDType>
        <xsl:for-each select="$ReceipentID">
          <ns0:ReceipentID>
            <xsl:value-of select="$ReceipentID"/>
          </ns0:ReceipentID>
          </xsl:for-each>
        </ns0:ReceipentIDType>
      </xsl:template>
    </xsl:stylesheet>
    Following is the XML ( B2BMarketProperties.xml)
    <?xml version="1.0" encoding="UTF-8" ?>
    <ReceipentIDType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://www.example.org B2BMarketProperties.xsd"
                     xmlns="http://www.example.org">
      <ReceipentID>123</ReceipentID>
      <ReceipentID>345</ReceipentID>
    </ReceipentIDType>
    The output i am getting with this code is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:ReceipentIDType xmlns:ns0="http://www.example.org">
        <ns0:ReceipentID>123345</ns0:ReceipentID>
    </ns0:ReceipentIDType>
    But, I need output in the following format
    <ns0:ReceipentIDType xmlns:ns0="http://www.example.org">
        <ns0:ReceipentID>123</ns0:ReceipentID>
         <ns0:ReceipentID>345</ns0:ReceipentID>
    </ns0:ReceipentIDType>
    Could you guys let me know what i am doing wrong. Any help would be appreciated.
    Thanks,

    This worked for me :
      <xsl:template match="/">
        <ns0:ReceipentIDType>
          <xsl:for-each select="document('B2BMarketProperties.xml')/*:ReceipentIDType/*:ReceipentID">
            <xsl:variable name="count" select="position()"/>
            <ns0:ReceipentID>
              <xsl:value-of select="document('B2BMarketProperties.xml')/*:ReceipentIDType/*:ReceipentID[$count]"/>
            </ns0:ReceipentID>
          </xsl:for-each>
        </ns0:ReceipentIDType>
      </xsl:template>

  • Download RSS feed as xml file from Sharepoint Online using PowerShell

    Hello
    Our company sharepoint (Office 365) contains also several RSS feeds.
    How it is possible to download xml file out of this feed (website) using PowerShell?
    I can authenticate with sharepoint using CSOM but do not what to do next.
    As service user is not administrator I cannot use "SPOService".
    This script works OK for standard website, but not for Sharepoint.
    $doc = New-Object System.Xml.XmlDocument
    $doc.Load("http://www.{CompanySite}.com/feed/")
    $doc.save("C:\temp\feed.xml")
    I am getting this error when using for company Sharepoint:
    "The remote server returned an error: (403) Forbidden."
    Thanks for your time considering this question.
    Jozin

    Hi Scott,
    thanks for advice.
    Combination of WebClient and Sharepoint Credentials is working OK:
    $client = New-Object System.Net.WebClient 
    $client.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($User, $SecurePassword)
    $client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
    $client.DownloadFile($SiteURL, $file)

  • Reading XML file from specific location&Storing xmldata into related tables

    I am new to xml.
    My requirement is,
    1) Get the xml file from specified location (C:\xmlfiles\ xmldata.xml)
    2)Convert xml data in clob data.
    3)store the data into related table.
    and vice-versa.
    What i did,
    a) I got the data from related tables and converted into xmlformat using SQLX
    b)converted this resultset into clob data and stored as xml file in specific location.
    It uses more then ten tables.
    All this help i got from AskTom site , thanks for that.
    Now i have to do vise-versa, i.e. i have to perform 1), 2), 3) steps........
    Please tell me proper steps to acheive it.
    Thanks in advance for giving your precious time to solve my issue.

    Have you read the"XMLDB FAQ" in this Forum?
    You could use stuff like:
    create or replace directory xmldir as C:\xmlfiles'
    declare
    xmldata xmltype;
    begin
    xmldata := xmltype(bfilename('XMLDIR','xmldata.xml'),nls_charset_id('AL32UTF8'));
      -- etc, etc your code --
      -- --> convert to clob by using for instance getclobval() function
      -- --> then insert the data in your relational table with CLOB column
      -- etc, etc your code --
    end;
    /

  • Conversion of XML file from ANSI to UTF-8 encoding in SAP 4.6C

    Hi All,
      Im working on SAP 4.6C version.I have generated a XML file from my custom report.It is downloading in ANSI format.But i need to download this into UTF-8 format.So can anyone please let me know how to do this?
    Is this possible in 4.6C version?
    Thanks in Advance,
    Aruna A N

    Hello
    It is possible in 4.6.
    Try this code:
    REPORT Z_TEST_XML_DOWN .
    data:
      lp_ixml type ref to if_ixml,
      lp_xdoc type ref to if_ixml_document,
      lp_sfac type ref to if_ixml_stream_factory,
      lp_ostr type ref to if_ixml_ostream,
      lp_rend type ref to if_ixml_renderer,
      lp_enco type ref to if_ixml_encoding.
    data:
      lp_root type ref to if_ixml_element,
      lp_coll type ref to if_ixml_element,
      lp_elem type ref to if_ixml_element.
    class cl_ixml definition load.
    data:
    udat like lfa1,
    s type string.
    select single * from lfa1 into udat where lifnr = '0000000001'. " <- set here real number
    *** create xml
    lp_ixml = cl_ixml=>create( ).
    lp_xdoc = lp_ixml->create_document( ).
    lp_root = lp_xdoc->create_simple_element( name = 'Node'
                                              parent = lp_xdoc ).
    s = udat-land1.
    call method lp_root->set_attribute( name = 'country_name'
                                        value = s ).
    s = udat-name1.
    call method lp_root->set_attribute( name = 'vendor_name'
                                        value = s ).
    s = udat-ort01.
    call method lp_root->set_attribute( name = 'city_name'
                                        value = s ).
    *** render xml
    types: begin of xml_tab_line,
             line(256) type x,
           end of xml_tab_line.
    types: xtab type table of xml_tab_line.
    data: t_xml type xtab,
          size type i,
          rc type i.
    lp_sfac = lp_ixml->create_stream_factory( ).
    lp_ostr = lp_sfac->create_ostream_itable( table = t_xml ).
    lp_enco = lp_ixml->create_encoding( character_set = 'utf-8'
                                   byte_order = if_ixml_encoding=>co_none ).
    call method lp_ostr->set_encoding( encoding = lp_enco ).
    lp_rend = lp_ixml->create_renderer( ostream = lp_ostr
                                        document = lp_xdoc ).
    rc = lp_rend->render( ).
    *** export to file
    size = lp_ostr->get_num_written_raw( ).
    call function 'WS_DOWNLOAD'
      exporting
        bin_filesize = size
        filename = 'c:\sapxml_test.xml'
        filetype = 'BIN'
      tables
        data_tab = t_xml
      exceptions
        others = 1.
    It is just simple example.

  • Parsing XML files from application server

    I need to read  an XML file from the application server. This can be done using OPEN DATASET in BINARY MODE and reading into internal table of type binary data.
    But inorder to parse the document using the iXML library, i need to pass the filesize of the XML file that is read into internal table.
    Please let me know how to calculate this filesize ?

    Hi ,
    Check the FM : /SAPDMC/LSM_F4_SERVER_FILE.
    Inside this FM , subroutine below exists.The main program for routine is /SAPDMC/LLSMW_AUX_020F02.
    Call this routine from your program. You will get the length in bytes from the field len of table pt_file.
    data:
      begin of gs_file,
        directory(75) type c,              " name of directory.
                                           " (possibly truncated.)
        name(75)    type c,                " name of entry.
                                           " (possibly truncated.)
        type(10)    type c,                " type of entry: directory, file
        *len(8)      type p,                " length in bytes*
        owner(8)    type c,                " owner of the entry
        mtime(6)    type p,                " last modification date,
                                           " seconds since 1970
        mode(9)     type c,                " like "rwx-r-x--x":
                                           " protection mode
        errno(3)    type c,
        errmsg(40)  type c,
        mod_date    type d,
        mod_time(8) type c,                " hh:mm:ss
        subrc like sy-subrc,
    end of gs_file.
    DATA : pt_file LIKE TABLE OF gs_file.
    DATa : p_ok.
      PERFORM /sapdmc/llsmw_aux_020f02(directory_contents_get)
      TABLES   pt_file
                                USING    '/TMP' ""!!! Here is your filepath
                                CHANGING p_ok

  • Best Practices:: How to generate XML file from a ResultSet

    Hi all,
    Could someone please suggest the best practices of how to generate an XML file from a resultset? I am developing a web application in Java with Oracle database and one of my tasks is to generate an XML file when the user, for example, click a "download as XML" button on the JSP. The application is basically like an Order with line items. I am using Struts and my first thought has been to have an action class which will extend struts's DownloadAction and through StAX's Iterator API to create an XML file. I intend to have a POJO which will have properties of all columns of my order and line items tables so that for each order I get all line items and:
    1. Write order details then
    2. Through an iterator write line items of that order to an XML file.
    I will greatly appreciate for comments or suggestions on the best way to do this through any pointers on the Web.
    alex

    Use a OracleWebRowSet in which an XML representation of the result set may be obtained.
    http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/oracle10g/webrowset/Readme.html
    http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/jcrowset.htm

Maybe you are looking for

  • HT4009 My in-app purchrases could not be completed, they say that I must contact the itunes store support

    My in-app purchrases could not be completed. They said that I must contact the itunes store support. Please help me!

  • Searching for a specific file size

    Hello, It's been a while but it seems like XP let me search for specific file sizes - e.g. if I wanted to search for files that were greater than 10GB or if I wanted to search for files less than 20GB. I can't figure it out in Windows 8.1. If the ans

  • Implication on batch setup

    Hi, I am wondering if there is any implication to the following. Presently we have a batch class setup in our Asia Pacific region (let say this batch class is called A, and it has 5 characteristics), and we plan to roll out one project to one of our

  • Online number is busy

    Hello. I work with Skype. My online number is busy whole time even not using it. My client can't talk to me. What can I do? thx

  • Windows 8.1 odd, situational unresponsiveness at lock screen

    Hello, I am experiencing an issue with our school's deployed Win 8.1 machines. At the lock screen, which prompts for a password to re-login, if the user enters an incorrect password, the system disables the enter key and enter arrow, as in no amount