I am unabele to create nodes to existing xml file

I want to append and update the nodes and attributes to existing xml file.
presently am using dom api, am i do that with dom or sax,if so how can i plz ...

http://java.sun.com/xml/tutorial_intro.html

Similar Messages

  • How I can append new node in existing  XML file

    I've just begun learning DOM XML , so I'm currently at a very beginner level.
    I have an existing XML file that I would like to add an additional node to before saving it to another variable.
    how I can append new node in this file.
    now this code is overwrite new data over old data
    The code looks like this:
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Result;
    import javax.xml.transform.Source;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.TransformerFactoryConfigurationError;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Attr;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    public class VerbXMLWriter
        static String EVerb3;
        static String englishTranslate3;
        public void VerbXMLWriter(String EVerb, String englishTranslate )
             EVerb3 = EVerb;
             englishTranslate3=englishTranslate;
        File xmlFile = new File("VerbDB.xml");
        DocumentBuilderFactory factory =  DocumentBuilderFactory.newInstance();
        try
         DocumentBuilder builder = factory.newDocumentBuilder();
         Document document = builder.newDocument();
        Element root = document.createElement("Verb");
         document.appendChild(root);
         Element verb = document.createElement(EVerb3);
         verb.setAttribute("EnglishTranslate",englishTranslate3);
         root.appendChild(verb);
         Source xmlSource = new DOMSource( document );
         Result result = new StreamResult( new FileOutputStream(xmlFile) );
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer =
        transformerFactory.newTransformer();
        transformer.setOutputProperty( "indent", "yes" );
         transformer.transform( xmlSource, result );
      catch(TransformerFactoryConfigurationError factoryError )
        factoryError.printStackTrace();
       catch (ParserConfigurationException pc)
           pc.printStackTrace();
       catch (IOException io)
          io.printStackTrace();
       catch(Exception excep )
           excep.printStackTrace();
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Verb>
    <Play EnglishTranslate="playing" />
    </Verb>Edited by: itb402 on Mar 9, 2008 6:05 AM

    in your code you are already appending new nodes to the root node. so what exactly is your problem? The following steps are usually taken for appending a new node:
    1. Read the XML document
    2. Build a DOM tree
    3. Navigate to the node under which you want to insert the new node
    4. Create a new node.
    5. Insert the new node to the node selected in point #3.
    ~Debopam

  • Create a new Node in existing xml file using CL_IXML

    Friends i have to create a new node on existing file of xml. using CL_IXML class methods Append child .

    Hi,
       searching information of XML I find your post.
       Post my code source that I have (at the moment) but if you think something that changed , tell me please.
    TYPE-POOLS: ixml.
    * macros
    DEFINE write_xml.
      write: / 'XML:', &1 color col_positive inverse.
    END-OF-DEFINITION.
      TYPES: BEGIN OF xml_line,
              data(256) TYPE x,
             END OF xml_line.
    data: nom_archivo(50) TYPE c,
    g_arch_enviar(128) TYPE c.
    CONSTANTS: ENCODING(5) VALUE 'UTF-8'.
      DATA: l_ixml            TYPE REF TO if_ixml,
            l_streamfactory   TYPE REF TO if_ixml_stream_factory,
            l_parser type ref to if_ixml_parser,"""
            l_istream type ref to if_ixml_istream,"""
            l_ostream         TYPE REF TO if_ixml_ostream,
            l_renderer        TYPE REF TO if_ixml_renderer,
            l_document        TYPE REF TO if_ixml_document,
            l_node type ref to if_ixml_node,"""
            l_encoding type ref to if_ixml_encoding."""
      DATA: l_value                        TYPE string,"""""""""añado data
            l_var_xmldata type string,"""
            l_var_xmldata2 type string,"""
            l_var_xmldata3 type string,"""
            l_var_xmldata4 type string,"""
            l_var_cstr type xstring,"""
            l_var_ret type i,"""
            l_var_dsn type string."""
      DATA: l_xml_table       TYPE TABLE OF xml_line,
            l_xml_size        TYPE i,
            l_rc              TYPE i.
    *l_var_xmldata = '<?xml version="1.0" encoding="utf-8"?><C dr="ñ" "></C>'.
    l_var_xmldata2 = '<?xml version="1.0" encoding="utf-8"?>'.
    l_var_xmldata3 = '<elementFormDefault="qualified"'.
    l_var_xmldata4 = 'attributeFormDefault="unqualified""></C>'.
    *CONCATENATE l_var_xmldata2 '<elementFormDefault="qualified" "></C>' INTO l_var_xmldata.
    CONCATENATE l_var_xmldata2 l_var_xmldata3 l_var_xmldata4 INTO l_var_xmldata.
    nom_archivo = 'utf8.xml'.
    * Text-001 Ruta de unix a donde enviara el Archivo.
    CONCATENATE '/tmp/' nom_archivo INTO g_arch_enviar.
    CLASS cl_ixml DEFINITION LOAD.
      TYPES: c_line(50)    TYPE c.
    DATA:         xmltab        TYPE STANDARD TABLE OF c_line,
             node      TYPE REF TO if_ixml_node,
             xml_line       TYPE c_line,
             charset       TYPE string,
             success       TYPE c.
    DATA: BEGIN OF elemento1 occurs 0,
       name(30) VALUE 'Header',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento1.
    DATA: BEGIN OF elemento2 occurs 0,
       name(30) VALUE 'MasterFiles',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2.
    DATA: BEGIN OF elemento3 occurs 0,
       name(30) VALUE 'GeneralLedgerEntries',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3.
    DATA: BEGIN OF elemento4 occurs 0,
       name(30) VALUE 'SourceDocuments',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4.
    DATA: BEGIN OF elemento1A occurs 0,
       name(30) VALUE 'AuditFileVersion',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento1A.
    DATA: BEGIN OF elemento1B occurs 0,
       name(30) VALUE 'CompanyID',
       elemento1B1(30) VALUE 'ele1B1'.
    DATA END OF elemento1B.
    DATA: BEGIN OF elemento1C occurs 0,
       name(30) VALUE 'TaxRegistrationNumber',
       elemento1C1(30) VALUE 'ele1C1'.
    DATA END OF elemento1C.
    DATA: BEGIN OF elemento1D occurs 0,
       name(30) VALUE 'TaxAccountingBasis',
       elemento1D1(30) VALUE 'ele1D1'.
    DATA END OF elemento1D.
    DATA: BEGIN OF elemento1E occurs 0,
       name(30) VALUE 'CompanyName',
       elemento1E1(30) VALUE 'ele1E1'.
    DATA END OF elemento1E.
    DATA: BEGIN OF elemento1F occurs 0,
       name(30) VALUE 'CompanyAddress',
       elemento1F1(30) VALUE 'ele1F1'.
    DATA END OF elemento1F.
    DATA: BEGIN OF elemento1G occurs 0,
       name(30) VALUE 'FiscalYear',
       elemento1G1(30) VALUE 'ele1G1'.
    DATA END OF elemento1G.
    DATA: BEGIN OF elemento1H occurs 0,
       name(30) VALUE 'StartDate',
       elemento1H1(30) VALUE 'ele1H1'.
    DATA END OF elemento1H.
    DATA: BEGIN OF elemento1I occurs 0,
       name(30) VALUE 'EndDate',
       elemento1I1(30) VALUE 'ele1I1'.
    DATA END OF elemento1I.
    DATA: BEGIN OF elemento1J occurs 0,
       name(30) VALUE 'CurrencyCode',
       elemento1J1(30) VALUE 'ele1J1'.
    DATA END OF elemento1J.
    DATA: BEGIN OF elemento1K occurs 0,
       name(30) VALUE 'DateCreated',
       elemento1K1(30) VALUE 'ele1K1'.
    DATA END OF elemento1K.
    DATA: BEGIN OF elemento1L occurs 0,
       name(30) VALUE 'ProductID',
       elemento1L1(30) VALUE 'ele1L1'.
    DATA END OF elemento1L.
    DATA: BEGIN OF elemento1M occurs 0,
       name(30) VALUE 'ProductVersion',
       elemento1M1(30) VALUE 'ele1M1'.
    DATA END OF elemento1M.
    DATA: BEGIN OF elemento1N occurs 0,
       name(30) VALUE 'Telephone',
       elemento1N1(30) VALUE 'ele1N1'.
    DATA END OF elemento1N.
    DATA: BEGIN OF elemento1O occurs 0,
       name(30) VALUE 'Fax',
       elemento1O1(30) VALUE 'ele1O1'.
    DATA END OF elemento1O.
    DATA: BEGIN OF elemento1P occurs 0,
       name(30) VALUE 'Email',
       elemento1P1(30) VALUE 'ele1P1'.
    DATA END OF elemento1P.
    DATA: BEGIN OF elemento1Q occurs 0,
       name(30) VALUE 'WebSite',
       elemento1Q1(30) VALUE 'ele1Q1'.
    DATA END OF elemento1Q.
    DATA: BEGIN OF elemento1R occurs 0,
       name(30) VALUE 'HeaderComment',
       elemento1R1(30) VALUE 'ele1R1'.
    DATA END OF elemento1R.
    DATA: BEGIN OF elemento2A occurs 0,
       name(30) VALUE 'GeneralLedger',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2A.
    DATA: BEGIN OF elemento2B occurs 0,
       name(30) VALUE 'Customer',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B.
    DATA: BEGIN OF elemento2C occurs 0,
       name(30) VALUE 'Supplier',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C.
    DATA: BEGIN OF elemento2D occurs 0,
       name(30) VALUE 'Product',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D.
    DATA: BEGIN OF elemento2E occurs 0,
       name(30) VALUE 'TaxTable',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E.
    DATA: BEGIN OF elemento2A1 occurs 0,
       name(30) VALUE 'AccountID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2A1.
    DATA: BEGIN OF elemento2A2 occurs 0,
       name(30) VALUE 'AccountDescription',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2A2.
    DATA: BEGIN OF elemento2B1 occurs 0,
       name(30) VALUE 'CustomerID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B1.
    DATA: BEGIN OF elemento2B2 occurs 0,
       name(30) VALUE 'CustomerTaxID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B2.
    DATA BEGIN OF elemento2B3 occurs 0.
    INCLUDE STRUCTURE elemento1E.
    *   name(30) VALUE 'CompanyName',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B3.
    DATA: BEGIN OF elemento2B4 occurs 0,
       name(30) VALUE 'Contact',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B4.
    DATA: BEGIN OF elemento2B5 occurs 0,
       name(30) VALUE 'BillingAddress',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B5.
    DATA: BEGIN OF elemento2B6 occurs 0,
       name(30) VALUE 'ShipToAddress',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B6.
    DATA: BEGIN OF elemento2B7 occurs 0.
    INCLUDE STRUCTURE elemento1N.
    *   name(30) VALUE 'Telephone',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B7.
    DATA: BEGIN OF elemento2B8 occurs 0.
    INCLUDE STRUCTURE elemento1O.
    *   name(30) VALUE 'Fax',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B8.
    DATA: BEGIN OF elemento2B9 occurs 0.
    INCLUDE STRUCTURE elemento1P.
    *   name(30) VALUE 'Email',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B9.
    DATA: BEGIN OF elemento2B10 occurs 0.
    INCLUDE STRUCTURE elemento1Q.
    *   name(30) VALUE 'Website',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2B10.
    DATA: BEGIN OF elemento2C1 occurs 0,
       name(30) VALUE 'SupplierID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C1.
    DATA: BEGIN OF elemento2C2 occurs 0,
       name(30) VALUE 'SupplierTaxID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C2.
    DATA: BEGIN OF elemento2C3 occurs 0.
    INCLUDE STRUCTURE elemento1E.
    *   name(30) VALUE 'CompanyName',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C3.
    DATA: BEGIN OF elemento2C4 occurs 0.
    INCLUDE STRUCTURE elemento2B4.
    *   name(30) VALUE 'Contact',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C4.
    DATA: BEGIN OF elemento2C5 occurs 0.
    INCLUDE STRUCTURE elemento2B5.
    *   name(30) VALUE 'BillingAddress',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C5.
    DATA: BEGIN OF elemento2C6 occurs 0.
    INCLUDE STRUCTURE elemento2B6.
    *   name(30) VALUE 'ShipToAddress',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C6.
    DATA: BEGIN OF elemento2C7 occurs 0.
    INCLUDE STRUCTURE elemento1N.
    *   name(30) VALUE 'Telephone',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C7.
    DATA: BEGIN OF elemento2C8 occurs 0.
    INCLUDE STRUCTURE elemento1O.
    *   name(30) VALUE 'Fax',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C8.
    DATA: BEGIN OF elemento2C9 occurs 0.
    INCLUDE STRUCTURE elemento1P.
    *   name(30) VALUE 'Email',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C9.
    DATA: BEGIN OF elemento2C10 occurs 0.
    INCLUDE STRUCTURE elemento1Q.
    *   name(30) VALUE 'Website',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2C10.
    DATA: BEGIN OF elemento2D1 occurs 0,
       name(30) VALUE 'ProductType',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D1.
    DATA: BEGIN OF elemento2D2 occurs 0,
       name(30) VALUE 'ProductCode',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D2.
    DATA: BEGIN OF elemento2D3 occurs 0,
       name(30) VALUE 'ProductGroup',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D3.
    DATA: BEGIN OF elemento2D4 occurs 0,
       name(30) VALUE 'ProductDescription',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D4.
    DATA: BEGIN OF elemento2D5 occurs 0,
       name(30) VALUE 'ProductNumberCode',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2D5.
    DATA: BEGIN OF elemento2E1 occurs 0,
       name(30) VALUE 'TaxType',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1.
    DATA: BEGIN OF elemento2E1A occurs 0,
       name(30) VALUE 'Description',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1A.
    DATA: BEGIN OF elemento2E1B occurs 0,
       name(30) VALUE 'TaxCodeDetails',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1B.
    DATA: BEGIN OF elemento2E1B1 occurs 0,
       name(30) VALUE 'TaxCode',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1B1.
    DATA: BEGIN OF elemento2E1B2 occurs 0.
    INCLUDE STRUCTURE elemento2E1A.
    *   name(30) VALUE 'Description',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1B2.
    DATA: BEGIN OF elemento2E1B3 occurs 0,
       name(30) VALUE 'TaxPercentage',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento2E1B3.
    DATA: BEGIN OF elemento3A occurs 0,
       name(30) VALUE 'NumberOfEntries',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3A.
    DATA: BEGIN OF elemento3B occurs 0,
       name(30) VALUE 'TotalDebit',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3B.
    DATA: BEGIN OF elemento3C occurs 0,
       name(30) VALUE 'TotalCredit',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3C.
    DATA: BEGIN OF elemento3D occurs 0,
       name(30) VALUE 'Journal',
       minOccurs(30) VALUE '0',
       maxOccurs(30) VALUE 'unbounded',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D.
    DATA: BEGIN OF elemento3D1 occurs 0,
       name(30) VALUE 'JournalID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D1.
    DATA: BEGIN OF elemento3D2 occurs 0.
    INCLUDE STRUCTURE elemento2E1A.
    *   name(30) VALUE 'Description',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D2.
    DATA: BEGIN OF elemento3D3 occurs 0,
       name(30) VALUE 'Transaction',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3.
    DATA: BEGIN OF elemento3D3A occurs 0,
       name(30) VALUE 'TransactionID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3A.
    DATA: BEGIN OF elemento3D3B occurs 0,
       name(30) VALUE 'Period',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3B.
    DATA: BEGIN OF elemento3D3C occurs 0,
       name(30) VALUE 'TransactionDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3C.
    DATA: BEGIN OF elemento3D3D occurs 0,
       name(30) VALUE 'SourceID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3D.
    DATA: BEGIN OF elemento3D3E occurs 0.
    INCLUDE STRUCTURE elemento2E1A.
    *   name(30) VALUE 'Description',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3E.
    DATA: BEGIN OF elemento3D3F occurs 0,
    *INCLUDE STRUCTURE elemento2B1.
       name(30) VALUE 'GLPostingDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3F.
    DATA: BEGIN OF elemento3D3G occurs 0.
    INCLUDE STRUCTURE elemento2B1.
    *   name(30) VALUE 'CustomerID',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3G.
    DATA: BEGIN OF elemento3D3H occurs 0,
       name(30) VALUE 'SupplierID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3H.
    DATA: BEGIN OF elemento3D3I occurs 0,
       name(30) VALUE 'Line',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I.
    DATA: BEGIN OF elemento3D3I1 occurs 0,
       name(30) VALUE 'RecordID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I1.
    DATA: BEGIN OF elemento3D3I2 occurs 0.
    INCLUDE STRUCTURE elemento2A1.
    *   name(30) VALUE 'AccountID',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I2.
    DATA: BEGIN OF elemento3D3I3 occurs 0,
       name(30) VALUE 'SourceDocumentID',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I3.
    DATA: BEGIN OF elemento3D3I4 occurs 0,
       name(30) VALUE 'SystemEntryDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I4.
    DATA: BEGIN OF elemento3D3I5 occurs 0.
    INCLUDE STRUCTURE elemento2E1A.
    *   name(30) VALUE 'Description',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I5.
    DATA: BEGIN OF elemento3D3I5A occurs 0,
       name(30) VALUE 'DebitAmount',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I5A.
    DATA: BEGIN OF elemento3D3I5B occurs 0,
       name(30) VALUE 'CreditAmount',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento3D3I5B.
    DATA: BEGIN OF elemento4A occurs 0,
       name(30) VALUE 'SalesInvoices',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A.
    DATA: BEGIN OF elemento4A1 occurs 0.
    INCLUDE STRUCTURE elemento3A.
    *   name(30) VALUE 'NumberOfEntries',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A1.
    DATA: BEGIN OF elemento4A2 occurs 0.
    INCLUDE STRUCTURE elemento3B.
    *   name(30) VALUE 'TotalDebit',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A2.
    DATA: BEGIN OF elemento4A3 occurs 0.
    INCLUDE STRUCTURE elemento3C.
    *   name(30) VALUE 'TotalCredit',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A3.
    DATA: BEGIN OF elemento4A4 occurs 0,
       name(30) VALUE 'Invoice',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4.
    DATA: BEGIN OF elemento4A4A occurs 0,
       name(30) VALUE 'InvoiceNo',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4A.
    DATA: BEGIN OF elemento4A4B occurs 0.
    INCLUDE STRUCTURE elemento3D3B.
    *   name(30) VALUE 'Period',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4B.
    DATA: BEGIN OF elemento4A4C occurs 0,
       name(30) VALUE 'InvoiceDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4C.
    DATA: BEGIN OF elemento4A4D occurs 0,
       name(30) VALUE 'InvoiceType',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4D.
    DATA: BEGIN OF elemento4A4E occurs 0.
    INCLUDE STRUCTURE elemento3D3I4.
    *   name(30) VALUE 'SystemEntryDate',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4E.
    DATA: BEGIN OF elemento4A4F occurs 0.
    INCLUDE STRUCTURE elemento3D3A.
    *   name(30) VALUE 'TransactionID',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4F.
    DATA: BEGIN OF elemento4A4G occurs 0.
    INCLUDE STRUCTURE elemento2B1.
    *   name(30) VALUE 'CustomerID',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4G.
    DATA: BEGIN OF elemento4A4H occurs 0,
       name(30) VALUE 'ShipTo',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4H.
    DATA: BEGIN OF elemento4A4I occurs 0,
       name(30) VALUE 'ShipFrom',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4I.
    DATA: BEGIN OF elemento4A4J occurs 0.
    INCLUDE STRUCTURE elemento3D3I.
    *   name(30) VALUE 'Line',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J.
    DATA: BEGIN OF elemento4A4K occurs 0,
       name(30) VALUE 'DocumentTotals',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K.
    DATA: BEGIN OF elemento4A4J1 occurs 0,
       name(30) VALUE 'LineNumber',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J1.
    DATA: BEGIN OF elemento4A4J2 occurs 0,
       name(30) VALUE 'OrderReferences',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J2.
    DATA: BEGIN OF elemento4A4J3 occurs 0,
       name(30) VALUE 'ProductCoder',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J3.
    DATA: BEGIN OF elemento4A4J4 occurs 0.
    INCLUDE STRUCTURE elemento2D4.
    *   name(30) VALUE 'ProductDescription',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J4.
    DATA: BEGIN OF elemento4A4J5 occurs 0,
       name(30) VALUE 'Quantity',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J5.
    DATA: BEGIN OF elemento4A4J6 occurs 0,
       name(30) VALUE 'UnitOfMeasure',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J6.
    DATA: BEGIN OF elemento4A4J7 occurs 0,
       name(30) VALUE 'UnitPrice',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J7.
    DATA: BEGIN OF elemento4A4J8 occurs 0,
       name(30) VALUE 'TaxPointDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J8.
    DATA: BEGIN OF elemento4A4J9 occurs 0,
       name(30) VALUE 'References',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J9.
    DATA: BEGIN OF elemento4A4J10 occurs 0.
    INCLUDE STRUCTURE elemento2E1A.
    *   name(30) VALUE 'Description',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J10.
    DATA: BEGIN OF elemento4A4J11 occurs 0.
    INCLUDE STRUCTURE elemento3D3I5A.
    *   name(30) VALUE 'DebitAmount',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J11.
    DATA: BEGIN OF elemento4A4J12 occurs 0.
    INCLUDE STRUCTURE elemento3D3I5B.
    *   name(30) VALUE 'CreditAmount',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J12.
    DATA: BEGIN OF elemento4A4J13 occurs 0,
       name(30) VALUE 'Tax',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J13.
    DATA: BEGIN OF elemento4A4J14 occurs 0,
       name(30) VALUE 'SettlementAmount',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J14.
    DATA: BEGIN OF elemento4A4J2A occurs 0,
       name(30) VALUE 'OriginatingON',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J2A.
    DATA: BEGIN OF elemento4A4J2B occurs 0,
       name(30) VALUE 'OrderDate',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J2B.
    DATA: BEGIN OF elemento4A4J9A occurs 0,
       name(30) VALUE 'CreditNote',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J9A.
    DATA: BEGIN OF elemento4A4J9A1 occurs 0,
       name(30) VALUE 'Reference',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J9A1.
    DATA: BEGIN OF elemento4A4J9A2 occurs 0,
       name(30) VALUE 'Reason',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4J9A2.
    DATA: BEGIN OF elemento4A4K1 occurs 0,
       name(30) VALUE 'TaxPayable',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K1.
    DATA: BEGIN OF elemento4A4K2 occurs 0,
       name(30) VALUE 'NetTotal',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K2.
    DATA: BEGIN OF elemento4A4K3 occurs 0,
       name(30) VALUE 'GrossTotal',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K3.
    DATA: BEGIN OF elemento4A4K4 occurs 0,
       name(30) VALUE 'Currency',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K4.
    DATA: BEGIN OF elemento4A4K5 occurs 0,
       name(30) VALUE 'Settlement',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K5.
    DATA: BEGIN OF elemento4A4K4A occurs 0.
    INCLUDE STRUCTURE elemento1J.
    *   name(30) VALUE 'CurrencyCode',
    *   elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K4A.
    DATA: BEGIN OF elemento4A4K4A1 occurs 0,
       name(30) VALUE 'CurrencyDebitAmount',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K4A1.
    DATA: BEGIN OF elemento4A4K4A2 occurs 0,
       name(30) VALUE 'CurrencyCreditAmount',
       elemento1A1(30) VALUE 'ele1A1'.
    DATA END OF elemento4A4K4A2.
    START-OF-SELECTION.
    *       Creating a ixml factory
            l_ixml = cl_ixml=>create( ).
    * Create factory object for data streams
    l_streamfactory = l_ixml->create_stream_factory( ).
    * Create object for input stream
    l_istream = l_streamfactory->create_istream_string( string =
    l_var_xmldata ).
    *       Creating the dom object model
            l_document = l_ixml->create_document( ).
    * Create parser
    l_parser = l_ixml->create_parser( document = l_document
    stream_factory = l_streamfactory
    istream = l_istream ).
    * create dom tree by parsing
    if l_parser->parse( ) <> 0.
    data: j(2).
    j = '9'.
    * do exception handling here
    * return.
    endif.
    *create output objetct
    * create a output stream
      l_ostream = l_streamfactory->create_ostream_itable( table = xmltab ).
      charset = 'SAP*'.
      IF NOT charset IS INITIAL.
    *   set an document encoding (optional)
        l_encoding = l_ixml->create_encoding( character_set = charset
                                          byte_order = 0 ).
        success  = l_ostream->set_encoding( encoding = l_encoding ).
      ENDIF.
    l_renderer =
    l_ixml->create_renderer( document = l_document
    ostream = l_ostream ).
      IF l_renderer->render( ) <> 0.
        WRITE: / 'ERROR: document rendering'.
        EXIT.
      ENDIF.
    call method l_ostream->close( ).
    *Writing string to file
    open dataset g_arch_enviar FOR OUTPUT in binary mode.
    transfer l_var_cstr to g_arch_enviar.
    close dataset g_arch_enviar.
    *       Fill root node with value AuditFile
    DATA: l_element_AuditFile TYPE REF TO if_ixml_element.
            l_element_AuditFile  = l_document->create_simple_element(
                        name = 'AuditFile'
                        parent = l_document ).
    DATA: CONCA TYPE STRING.
    DATA: elemento type string.
    elemento = elemento1-name.
    DATA: l_element_Header TYPE REF TO if_ixml_element.
            l_element_Header  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_AuditFile ).
    elemento = elemento1A-name.
    DATA: l_element_AuditFileVersion TYPE REF TO if_ixml_element.
            l_element_AuditFileVersion  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1B-name.
    DATA: l_element_CompanyID TYPE REF TO if_ixml_element.
            l_element_CompanyID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    *The name "L_ELEMENT_TAXREGISTRATIONNUMBER" is longer than the allowed          
    *30 characters.          
    *elemento = elemento1C-name.
    *DATA: l_element_TaxRegistrationNumber TYPE REF TO if_ixml_element.
    *        l_element_TaxRegistrationNumber  = l_document->create_simple_element(
    *                    name = elemento
    *                    parent = l_element_Header ).
    elemento = elemento1D-name.
    DATA: l_element_TaxAccountingBasis TYPE REF TO if_ixml_element.
            l_element_TaxAccountingBasis  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1E-name.
    DATA: l_element_CompanyName TYPE REF TO if_ixml_element.
            l_element_CompanyName  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1F-name.
    DATA: l_element_CompanyAddress TYPE REF TO if_ixml_element.
            l_element_CompanyAddress  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1G-name.
    DATA: l_element_FiscalYear TYPE REF TO if_ixml_element.
            l_element_FiscalYear  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1H-name.
    DATA: l_element_StartDate TYPE REF TO if_ixml_element.
            l_element_StartDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1I-name.
    DATA: l_element_EndDate TYPE REF TO if_ixml_element.
            l_element_EndDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1J-name.
    DATA: l_element_CurrencyCode TYPE REF TO if_ixml_element.
            l_element_CurrencyCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1K-name.
    DATA: l_element_DateCreated TYPE REF TO if_ixml_element.
            l_element_DateCreated  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1L-name.
    DATA: l_element_ProductID TYPE REF TO if_ixml_element.
            l_element_ProductID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1M-name.
    DATA: l_element_ProductVersion TYPE REF TO if_ixml_element.
            l_element_ProductVersion  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1N-name.
    DATA: l_element_Telephone TYPE REF TO if_ixml_element.
            l_element_Telephone  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1O-name.
    DATA: l_element_Fax TYPE REF TO if_ixml_element.
            l_element_Fax  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1P-name.
    DATA: l_element_Email TYPE REF TO if_ixml_element.
            l_element_Email  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1Q-name.
    DATA: l_element_WebSite TYPE REF TO if_ixml_element.
            l_element_WebSite  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento1R-name.
    DATA: l_element_HeaderComment TYPE REF TO if_ixml_element.
            l_element_HeaderComment  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Header ).
    elemento = elemento2-name.
    DATA: l_element_MasterFiles TYPE REF TO if_ixml_element.
            l_element_MasterFiles  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_AuditFile ).
    elemento = elemento2A-name.
    DATA: l_element_GeneralLedger TYPE REF TO if_ixml_element.
            l_element_GeneralLedger  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_MasterFiles ).
    elemento = elemento2B-name.
    DATA: l_element_Customer TYPE REF TO if_ixml_element.
            l_element_Customer  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_MasterFiles ).
    elemento = elemento2C-name.
    DATA: l_element_Supplier TYPE REF TO if_ixml_element.
            l_element_Supplier  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_MasterFiles ).
    elemento = elemento2D-name.
    DATA: l_element_Product TYPE REF TO if_ixml_element.
            l_element_Product  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_MasterFiles ).
    elemento = elemento2E-name.
    DATA: l_element_TaxTable TYPE REF TO if_ixml_element.
            l_element_TaxTable  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_MasterFiles ).
    elemento = elemento2A1-name.
    DATA: l_element_AccountID TYPE REF TO if_ixml_element.
            l_element_AccountID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedger ).
    elemento = elemento2A2-name.
    DATA: l_element_AccountDescription TYPE REF TO if_ixml_element.
            l_element_AccountDescription  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedger ).
    elemento = elemento2B1-name.
    DATA: l_element_CustomerID TYPE REF TO if_ixml_element.
            l_element_CustomerID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    elemento = elemento2B2-name.
    DATA: l_element_CustomerTaxID TYPE REF TO if_ixml_element.
            l_element_CustomerTaxID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    *elemento = elemento2B3-name.
    elemento = elemento1E-name.
    *DATA: l_element_CompanyName TYPE REF TO if_ixml_element.
            l_element_CompanyName  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    elemento = elemento2B4-name.
    DATA: l_element_Contact TYPE REF TO if_ixml_element.
            l_element_Contact  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    elemento = elemento2B5-name.
    DATA: l_element_BillingAddress TYPE REF TO if_ixml_element.
            l_element_BillingAddress  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    elemento = elemento2B6-name.
    DATA: l_element_ShipToAddress TYPE REF TO if_ixml_element.
            l_element_ShipToAddress  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    *elemento = elemento2B7-name.
    elemento = elemento1N-name.
    *DATA: l_element_Telephone TYPE REF TO if_ixml_element.
            l_element_Telephone  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    *elemento = elemento2B8-name.
    elemento = elemento1O-name.
    *DATA: l_element_Fax TYPE REF TO if_ixml_element.
            l_element_Fax  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    *elemento = elemento2B9-name.
    elemento = elemento1P-name.
    *DATA: l_element_Email TYPE REF TO if_ixml_element.
            l_element_Email  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    *elemento = elemento2B10-name.
    elemento = elemento1Q-name.
    *DATA: l_element_Website TYPE REF TO if_ixml_element.
            l_element_Website  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Customer ).
    elemento = elemento2C1-name.
    DATA: l_element_SupplierID TYPE REF TO if_ixml_element.
            l_element_SupplierID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento2C2-name.
    DATA: l_element_SupplierTaxID TYPE REF TO if_ixml_element.
            l_element_SupplierTaxID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento1E-name.
    *DATA: l_element_CompanyName TYPE REF TO if_ixml_element.
            l_element_CompanyName  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento2B4-name.
    *DATA: l_element_Contact TYPE REF TO if_ixml_element.
            l_element_Contact  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento2B5-name.
    *DATA: l_element_BillingAddress TYPE REF TO if_ixml_element.
            l_element_BillingAddress  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento2B6-name.
    *DATA: l_element_ShipToAddress TYPE REF TO if_ixml_element.
            l_element_ShipToAddress  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento1N-name.
    *DATA: l_element_Telephone TYPE REF TO if_ixml_element.
            l_element_Telephone  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento1O-name.
    *DATA: l_element_Fax TYPE REF TO if_ixml_element.
            l_element_Fax  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento1P-name.
    *DATA: l_element_Email TYPE REF TO if_ixml_element.
            l_element_Email  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento1Q-name.
    *DATA: l_element_Website TYPE REF TO if_ixml_element.
            l_element_Website  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Supplier ).
    elemento = elemento2D1-name.
    DATA: l_element_ProductType TYPE REF TO if_ixml_element.
            l_element_ProductType  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Product ).
    elemento = elemento2D2-name.
    DATA: l_element_ProductCode TYPE REF TO if_ixml_element.
            l_element_ProductCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Product ).
    elemento = elemento2D3-name.
    DATA: l_element_ProductGroup TYPE REF TO if_ixml_element.
            l_element_ProductGroup  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Product ).
    elemento = elemento2D4-name.
    DATA: l_element_ProductDescription TYPE REF TO if_ixml_element.
            l_element_ProductDescription  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Product ).
    elemento = elemento2D5-name.
    DATA: l_element_ProductNumberCode TYPE REF TO if_ixml_element.
            l_element_ProductNumberCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Product ).
    elemento = elemento2E1-name.
    DATA: l_element_TaxType TYPE REF TO if_ixml_element.
            l_element_TaxType  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxTable ).
    elemento = elemento2E1A-name.
    DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxType ).
    elemento = elemento2E1B-name.
    DATA: l_element_TaxCodeDetails TYPE REF TO if_ixml_element.
            l_element_TaxCodeDetails  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxType ).
    elemento = elemento2E1B1-name.
    DATA: l_element_TaxCode TYPE REF TO if_ixml_element.
            l_element_TaxCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxCodeDetails ).
    elemento = elemento2E1A-name.
    *DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxCodeDetails ).
    elemento = elemento2E1B3-name.
    DATA: l_element_TaxPercentage TYPE REF TO if_ixml_element.
            l_element_TaxPercentage  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_TaxCodeDetails ).
    elemento = elemento3-name.
    DATA: l_element_GeneralLedgerEntries TYPE REF TO if_ixml_element.
            l_element_GeneralLedgerEntries  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_AuditFile ).
    elemento = elemento3A-name.
    DATA: l_element_NumberOfEntries TYPE REF TO if_ixml_element.
            l_element_NumberOfEntries  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedgerEntries ).
    elemento = elemento3B-name.
    DATA: l_element_TotalDebit TYPE REF TO if_ixml_element.
            l_element_TotalDebit  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedgerEntries ).
    elemento = elemento3C-name.
    DATA: l_element_TotalCredit TYPE REF TO if_ixml_element.
            l_element_TotalCredit  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedgerEntries ).
    elemento = elemento3D-name.
    *****if elemento3D-minOccurs NE ''.
    *****   elemento1 = ' minOccurs = '.
    *****   elemento2 = elemento3D-minOccurs.
    *****   CONCATENATE elemento elemento1 elemento2 INTO elemento.
    *****endif.
    *data: eleref(30),
    *elemento.
    *eleref = 'ref = '.
    *CONCATENATE eleref elemento INTO elemento.
    DATA: l_element_Journal TYPE REF TO if_ixml_element.
            l_element_Journal  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_GeneralLedgerEntries ).
    elemento = elemento3D1-name.
    DATA: l_element_JournalID TYPE REF TO if_ixml_element.
            l_element_JournalID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Journal ).
    elemento = elemento2E1A-name.
    *DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Journal ).
    elemento = elemento3D3-name.
    DATA: l_element_Transaction TYPE REF TO if_ixml_element.
            l_element_Transaction  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Journal ).
    elemento = elemento3D3A-name.
    DATA: l_element_TransactionID TYPE REF TO if_ixml_element.
            l_element_TransactionID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3B-name.
    DATA: l_element_Period TYPE REF TO if_ixml_element.
            l_element_Period  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3C-name.
    DATA: l_element_TransactionDate TYPE REF TO if_ixml_element.
            l_element_TransactionDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3D-name.
    DATA: l_element_SourceID TYPE REF TO if_ixml_element.
            l_element_SourceID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento2E1A-name.
    *DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3F-name.
    DATA: l_element_GLPostingDate TYPE REF TO if_ixml_element.
            l_element_GLPostingDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento2B1-name.
    *DATA: l_element_CustomerID TYPE REF TO if_ixml_element.
            l_element_CustomerID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento2C1-name.
    *DATA: l_element_SupplierID TYPE REF TO if_ixml_element.
            l_element_SupplierID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3I-name.
    DATA: l_element_Line TYPE REF TO if_ixml_element.
            l_element_Line  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Transaction ).
    elemento = elemento3D3I1-name.
    DATA: l_element_RecordID TYPE REF TO if_ixml_element.
            l_element_RecordID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento2A1-name.
    *DATA: l_element_AccountID TYPE REF TO if_ixml_element.
            l_element_AccountID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento3D3I3-name.
    DATA: l_element_SourceDocumentID TYPE REF TO if_ixml_element.
            l_element_SourceDocumentID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento3D3I4-name.
    DATA: l_element_SystemEntryDate TYPE REF TO if_ixml_element.
            l_element_SystemEntryDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento2E1A-name.
    *DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento3D3I5A-name.
    DATA: l_element_DebitAmount TYPE REF TO if_ixml_element.
            l_element_DebitAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Description ).
    elemento = elemento3D3I5B-name.
    DATA: l_element_CreditAmount TYPE REF TO if_ixml_element.
            l_element_CreditAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Description ).
    elemento = elemento4-name.
    DATA: l_element_SourceDocuments TYPE REF TO if_ixml_element.
            l_element_SourceDocuments  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_AuditFile ).
    elemento = elemento4A-name.
    DATA: l_element_SalesInvoices TYPE REF TO if_ixml_element.
            l_element_SalesInvoices  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_SourceDocuments ).
    elemento = elemento3A-name.
    *DATA: l_element_NumberOfEntries TYPE REF TO if_ixml_element.
            l_element_NumberOfEntries  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_SalesInvoices ).
    elemento = elemento3B-name.
    *DATA: l_element_TotalDebit TYPE REF TO if_ixml_element.
            l_element_TotalDebit  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_SalesInvoices ).
    elemento = elemento3C-name.
    *DATA: l_element_TotalCredit TYPE REF TO if_ixml_element.
            l_element_TotalCredit  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_SalesInvoices ).
    elemento = elemento4A4-name.
    DATA: l_element_Invoice TYPE REF TO if_ixml_element.
            l_element_Invoice  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_SalesInvoices ).
    elemento = elemento4A4A-name.
    DATA: l_element_InvoiceNo TYPE REF TO if_ixml_element.
            l_element_InvoiceNo  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento3D3B-name.
    *DATA: l_element_Period TYPE REF TO if_ixml_element.
            l_element_Period  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4C-name.
    DATA: l_element_InvoiceDate TYPE REF TO if_ixml_element.
            l_element_InvoiceDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4D-name.
    DATA: l_element_InvoiceType TYPE REF TO if_ixml_element.
            l_element_InvoiceType  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento3D3I4-name.
    *DATA: l_element_SystemEntryDate TYPE REF TO if_ixml_element.
            l_element_SystemEntryDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento3D3A-name.
    *DATA: l_element_TransactionID TYPE REF TO if_ixml_element.
            l_element_TransactionID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento2B1-name.
    *DATA: l_element_CustomerID TYPE REF TO if_ixml_element.
            l_element_CustomerID  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4H-name.
    DATA: l_element_ShipTo TYPE REF TO if_ixml_element.
            l_element_ShipTo  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4I-name.
    DATA: l_element_ShipFrom TYPE REF TO if_ixml_element.
            l_element_ShipFrom  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento3D3I-name.
    *DATA: l_element_Line TYPE REF TO if_ixml_element.
            l_element_Line  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4K-name.
    DATA: l_element_DocumentTotals TYPE REF TO if_ixml_element.
            l_element_DocumentTotals  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Invoice ).
    elemento = elemento4A4J1-name.
    DATA: l_element_LineNumber TYPE REF TO if_ixml_element.
            l_element_LineNumber  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J2-name.
    DATA: l_element_OrderReferences TYPE REF TO if_ixml_element.
            l_element_OrderReferences  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J3-name.
    DATA: l_element_ProductCoder TYPE REF TO if_ixml_element.
            l_element_ProductCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento2D4-name.
    *DATA: l_element_ProductDescription TYPE REF TO if_ixml_element.
            l_element_ProductDescription  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J5-name.
    DATA: l_element_Quantity TYPE REF TO if_ixml_element.
            l_element_Quantity  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J6-name.
    DATA: l_element_UnitOfMeasure TYPE REF TO if_ixml_element.
            l_element_UnitOfMeasure  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J7-name.
    DATA: l_element_UnitPrice TYPE REF TO if_ixml_element.
            l_element_UnitPrice  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J8-name.
    DATA: l_element_TaxPointDate TYPE REF TO if_ixml_element.
            l_element_TaxPointDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J9-name.
    DATA: l_element_References TYPE REF TO if_ixml_element.
            l_element_References  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento2E1A-name.
    *DATA: l_element_Description TYPE REF TO if_ixml_element.
            l_element_Description  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento3D3I5A-name.
    *DATA: l_element_DebitAmount TYPE REF TO if_ixml_element.
            l_element_DebitAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento3D3I5B-name.
    *DATA: l_element_CreditAmount TYPE REF TO if_ixml_element.
            l_element_CreditAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J13-name.
    DATA: l_element_Tax TYPE REF TO if_ixml_element.
            l_element_Tax  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J14-name.
    DATA: l_element_SettlementAmount TYPE REF TO if_ixml_element.
            l_element_SettlementAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Line ).
    elemento = elemento4A4J2A-name.
    DATA: l_element_OriginatingON TYPE REF TO if_ixml_element.
            l_element_OriginatingON  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_OrderReferences ).
    elemento = elemento4A4J2B-name.
    DATA: l_element_OrderDate TYPE REF TO if_ixml_element.
            l_element_OrderDate  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_OrderReferences ).
    elemento = elemento4A4J9A-name.
    DATA: l_element_CreditNote TYPE REF TO if_ixml_element.
            l_element_CreditNote  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_References ).
    elemento = elemento4A4J9A1-name.
    DATA: l_element_Reference TYPE REF TO if_ixml_element.
            l_element_Reference  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_CreditNote ).
    elemento = elemento4A4J9A2-name.
    DATA: l_element_Reason TYPE REF TO if_ixml_element.
            l_element_Reason  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_CreditNote ).
    elemento = elemento4A4K1-name.
    DATA: l_element_TaxPayable TYPE REF TO if_ixml_element.
            l_element_TaxPayable  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_DocumentTotals ).
    elemento = elemento4A4K2-name.
    DATA: l_element_NetTotal TYPE REF TO if_ixml_element.
            l_element_NetTotal  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_DocumentTotals ).
    elemento = elemento4A4K3-name.
    DATA: l_element_GrossTotal TYPE REF TO if_ixml_element.
            l_element_GrossTotal  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_DocumentTotals ).
    elemento = elemento4A4K4-name.
    DATA: l_element_Currency TYPE REF TO if_ixml_element.
            l_element_Currency  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_DocumentTotals ).
    elemento = elemento4A4K5-name.
    DATA: l_element_Settlement TYPE REF TO if_ixml_element.
            l_element_Settlement  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_DocumentTotals ).
    elemento = elemento1J-name.
    *DATA: l_element_CurrencyCode TYPE REF TO if_ixml_element.
            l_element_CurrencyCode  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_Currency ).
    elemento = elemento4A4K4A1-name.
    DATA: l_element_CurrencyDebitAmount TYPE REF TO if_ixml_element.
            l_element_CurrencyDebitAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_CurrencyCode ).
    elemento = elemento4A4K4A2-name.
    DATA: l_element_CurrencyCreditAmount TYPE REF TO if_ixml_element.
            l_element_CurrencyCreditAmount  = l_document->create_simple_element(
                        name = elemento
                        parent = l_element_CurrencyCode ).
    *   Creating a stream factory
        l_streamfactory = l_ixml->create_stream_factory( ).
    *   Connect internal XML table to stream factory
        l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).
    *   Rendering the document
        l_renderer = l_ixml->create_renderer( ostream  = l_ostream
                                              document = l_document ).
        l_rc = l_renderer->render( ).
    *   Saving the XML document
        l_xml_size = l_ostream->get_num_written_raw( ).
        CALL METHOD cl_gui_frontend_services=>gui_download
          EXPORTING
            bin_filesize = l_xml_size
    *        filename     = 'E:     empAuditFile2.xml'                  "cambio E
            filename     = 'C:mioAuditFile21.xml'                  "cambio C
            filetype     = 'BIN'
          CHANGING
            data_tab     = l_xml_table
          EXCEPTIONS
            OTHERS       = 24.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    *inicio prueba
    *Process the document
    perform process_dom using l_document.
    *WHEN
    *fin prueba
    **& Form process_dom
    form process_dom using document type ref to if_ixml_document.
    data: node type ref to if_ixml_node,
    iterator type ref to if_ixml_node_iterator,
    nodemap type ref to if_ixml_named_node_map,
    attr type ref to if_ixml_node,
    name type string,
    prefix type string,
    value type string,
    indent type i,
    count type i,
    index type i.
    data: name2 type string,
    name_root type string,
    node_parent type ref to if_ixml_node,
    node_root type ref to if_ixml_node,
    num_children type i.
    node ?= document.
    check not node is initial.
    uline.
    write: /.
    write: /' DOM-TREE'.
    write: /.
    if node is initial. exit. endif.
    *create a node iterator
    iterator = node->create_iterator( ).
    *get current node
    node = iterator->get_next( ).
    *loop over all nodes
    while not node is initial.
    indent = node->get_height( ) * 2.
    indent = indent + 20.
    num_children = node->num_children( ).
    case node->get_type( ).
    when if_ixml_node=>co_node_element.
    *element node
    name = node->get_name( ).
    nodemap = node->get_attributes( ).
    node_root = node->get_root( ).
    name_root = node_root->get_name( ).
    write: / 'ELEMENT :'.
    write: at indent name color col_positive inverse.
    write: 'NUM_CHILDREN:', num_children.
    write: 'ROOT:', name_root.
    node_parent = node->get_parent( ).
    name2 = node_parent->get_name( ).
    write: 'NAME2: ' , name2.
    if not nodemap is initial.
    *attributes
    count = nodemap->get_length( ).
    do count times.
    index = sy-index - 1.
    attr = nodemap->get_item( index ).
    name = attr->get_name( ).
    prefix = attr->get_namespace_prefix( ).
    value = attr->get_value( ).
    write: / 'ATTRIBUTE:'.
    write: at indent name color col_heading inverse, '=',
    value color col_total inverse.
    enddo.
    endif.
    when if_ixml_node=>co_node_text or
    if_ixml_node=>co_node_cdata_section.
    *text node
    value = node->get_value( ).
    write: / 'VALUE :'.
    *mjprocha
    node_parent = node->get_parent( ).
    write: at indent value color col_group inverse.
    name2 = node_parent->get_name( ).
    write: 'NAME2: ' , name2.
    endcase.
    *advance to next node
    node = iterator->get_next( ).
    endwhile.
    endform. "process_dom
    *       FORM print_tree                                               *
    FORM print_dom USING node TYPE REF TO if_ixml_node.
      DATA: iterator  TYPE REF TO if_ixml_node_iterator,
            nodemap   TYPE REF TO if_ixml_named_node_map,
            attr      TYPE REF TO if_ixml_node,
            name      TYPE string,
            prefix    TYPE string,
            value     TYPE string,
            indent    TYPE i,
            count     TYPE i,
            index     TYPE i.
      CHECK NOT node IS INITIAL.
      ULINE.
      WRITE: /.
      WRITE: /' DOM-TREE'.
      WRITE: /.
      IF node IS INITIAL. EXIT. ENDIF.
    * create a node iterator
      iterator  = node->create_iterator( ).
    * get current node
      node = iterator->get_next( ).
    * loop over all nodes
      WHILE NOT node IS INITIAL.
        indent = node->get_height( ) * 2.
        indent = indent + 20.
        CASE node->get_type( ).
          WHEN if_ixml_node=>co_node_eleme

  • Can't Figure Out How to Add Nodes to Existing XML File by Attribute

    <?xml version="1.0" encoding="UTF-8"?>
    -<Project_Data>
    -<Project_Info>
    <Client>frankLINVILE</Client>
    <Name>COOKIE MONSTER INDICTMNET</Name>
    <Number>198883cookie</Number>
    <Tester>JK</Tester>
    <Reviewer>CM</Reviewer>
    <Location>Sesame Street, MD</Location>
    <SD>03/10/2015</SD>
    <Boring_Header>Boring1</Boring_Header>
    <Sample_Header>Sample2</Sample_Header>
    <Depth_Header>Depth3</Depth_Header>
    <Location_Header>Location4</Location_Header>
    <SD_Header>Sample Date5</SD_Header>
    <Remarks>asdf sdafas</Remarks>
    <Is_LOC_Global>True</Is_LOC_Global>
    <Is_SD_Global>True</Is_SD_Global>
    <Count>12</Count>
    <Has_MC_Data>N</Has_MC_Data>
    </Project_Info>
    -<Samples>
    -<Sample ID="@B1 S1 1-2 SESAME STREET, MD 03/10/2015">
    <Boring>b1</Boring>
    <Sample>s1</Sample>
    <Depth>1-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frank1</Remarks>
    <Login_Order>1</Login_Order>
    <Report_Order>1</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B2 S2 2-2 SESAME STREET, MD 03/10/2015">
    <Boring>b2</Boring>
    <Sample>s2</Sample>
    <Depth>2-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn2</Remarks>
    <Login_Order>2</Login_Order>
    <Report_Order>2</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B3 S3 3-3 SESAME STREET, MD 03/10/2015">
    <Boring>b3</Boring>
    <Sample>s3</Sample>
    <Depth>3-3</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn3</Remarks>
    <Login_Order>3</Login_Order>
    <Report_Order>3</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B4 S4 4-4 SESAME STREET, MD 03/10/2015">
    <Boring>b4</Boring>
    <Sample>s4</Sample>
    <Depth>4-4</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi4</Remarks>
    <Login_Order>4</Login_Order>
    <Report_Order>4</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B5 S5 5-5 SESAME STREET, MD 03/10/2015">
    <Boring>b5</Boring>
    <Sample>s5</Sample>
    <Depth>5-5</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi5</Remarks>
    <Login_Order>5</Login_Order>
    <Report_Order>5</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B6 S6 6-6 SESAME STREET, MD 03/10/2015">
    <Boring>b6</Boring>
    <Sample>s6</Sample>
    <Depth>6-6</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi6</Remarks>
    <Login_Order>6</Login_Order>
    <Report_Order>6</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B7 S7 7-7 SESAME STREET, MD 03/10/2015">
    <Boring>b7</Boring>
    <Sample>s7</Sample>
    <Depth>7-7</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi7</Remarks>
    <Login_Order>9</Login_Order>
    <Report_Order>9</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B8 S8 8-8 SESAME STREET, MD 03/10/2015">
    <Boring>b8</Boring>
    <Sample>s8</Sample>
    <Depth>8-8</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi8</Remarks>
    <Login_Order>10</Login_Order>
    <Report_Order>10</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B9 S9 9-9 SESAME STREET, MD 03/10/2015">
    <Boring>b9</Boring>
    <Sample>s9</Sample>
    <Depth>9-9</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi9</Remarks>
    <Login_Order>11</Login_Order>
    <Report_Order>11</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B10 S10 10-10 SESAME STREET, MD 03/10/2015">
    <Boring>b10</Boring>
    <Sample>s10</Sample>
    <Depth>10-10</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi10</Remarks>
    <Login_Order>12</Login_Order>
    <Report_Order>12</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@FRANK FARKN2">
    <Boring>frank</Boring>
    <Sample>farkn2</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>7</Login_Order>
    <Report_Order>7</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@FRANK FRANK">
    <Boring>frank</Boring>
    <Sample>frank</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>8</Login_Order>
    <Report_Order>8</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    </Samples>
    </Project_Data
    What I need to do is find the sample by its ID attribute...IN THEN add the following
    <MC_Data>
    <Wet>blah</Wet
    <Dry>blah</Dry>
    </MC_Data>
    Here is the code I have now, which doesn't work...
    Public Sub XML_Add_Child_Node_Group(Sample_ID As String, Which_Category As Integer)
            If File.Exists(Program_Settings_File.PG_Filepath) = False Then MsgBox("The program settings file for the program has been moved or deleted! Cancelled.") : Exit Sub
            Dim XMLFile As New Xml.XmlDocument, NewNode As Xml.XmlElement = Nothing, NewChild As Xml.XmlElement = Nothing
            XMLFile.Load(Current_File.Current_File_Path)
            Dim Root_Node As XmlNode = XMLFile.SelectSingleNode("/Project_Data/Samples/[@ID='" & Sample_ID & "']")
            Dim Root_Element As Xml.XmlElement = CType(XMLFile.SelectSingleNode("/Project_Data/Samples/[@ID='" & Sample_ID & "']"), XmlElement)
            '1 = Add MC nodes
            Select Which_Category
                Case 1
                    '----Add new node.
                    NewNode = XMLFile.CreateElement("MC_Data")
                    '----Add children nodes.
                    NewChild = XMLFile.CreateElement("MC_Wet") : NewNode.AppendChild(NewChild)
                    'MsgBox(NewNode.Name)
                    NewChild = XMLFile.CreateElement("MC_Dry") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Tare") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Tare_No") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Remarks") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_MC") : NewNode.AppendChild(NewChild)
                    Root_Element.AppendChild(NewNode)
            End Select
            '----Add entire tree.
            XMLFile.Save(Current_File.Current_File_Path)
        End Sub
    No matter what, it will not add these nodes. Can anyone help me out? Thanks ahead of time...
    Shawn

    Here is the XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Project_Data>
    <Project_Info>
    <Client>frankLINVILE</Client>
    <Name>COOKIE MONSTER INDICTMNET</Name>
    <Number>198883cookie</Number>
    <Tester>JK</Tester>
    <Reviewer>CM</Reviewer>
    <Location>Sesame Street, MD</Location>
    <SD>03/10/2015</SD>
    <Boring_Header>Boring1</Boring_Header>
    <Sample_Header>Sample2</Sample_Header>
    <Depth_Header>Depth3</Depth_Header>
    <Location_Header>Location4</Location_Header>
    <SD_Header>Sample Date5</SD_Header>
    <Remarks>asdf sdafas</Remarks>
    <Is_LOC_Global>True</Is_LOC_Global>
    <Is_SD_Global>True</Is_SD_Global>
    <Count>12</Count>
    <Has_MC_Data>N</Has_MC_Data>
    </Project_Info>
    <Samples>
    <Sample ID="@B1 S1 1-2 SESAME STREET, MD 03/10/2015">
    <Boring>b1</Boring>
    <Sample>s1</Sample>
    <Depth>1-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frank1</Remarks>
    <Login_Order>1</Login_Order>
    <Report_Order>1</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B2 S2 2-2 SESAME STREET, MD 03/10/2015">
    <Boring>b2</Boring>
    <Sample>s2</Sample>
    <Depth>2-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn2</Remarks>
    <Login_Order>2</Login_Order>
    <Report_Order>2</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B3 S3 3-3 SESAME STREET, MD 03/10/2015">
    <Boring>b3</Boring>
    <Sample>s3</Sample>
    <Depth>3-3</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn3</Remarks>
    <Login_Order>3</Login_Order>
    <Report_Order>3</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B4 S4 4-4 SESAME STREET, MD 03/10/2015">
    <Boring>b4</Boring>
    <Sample>s4</Sample>
    <Depth>4-4</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi4</Remarks>
    <Login_Order>4</Login_Order>
    <Report_Order>4</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B5 S5 5-5 SESAME STREET, MD 03/10/2015">
    <Boring>b5</Boring>
    <Sample>s5</Sample>
    <Depth>5-5</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi5</Remarks>
    <Login_Order>5</Login_Order>
    <Report_Order>5</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B6 S6 6-6 SESAME STREET, MD 03/10/2015">
    <Boring>b6</Boring>
    <Sample>s6</Sample>
    <Depth>6-6</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi6</Remarks>
    <Login_Order>6</Login_Order>
    <Report_Order>6</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B7 S7 7-7 SESAME STREET, MD 03/10/2015">
    <Boring>b7</Boring>
    <Sample>s7</Sample>
    <Depth>7-7</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi7</Remarks>
    <Login_Order>9</Login_Order>
    <Report_Order>9</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B8 S8 8-8 SESAME STREET, MD 03/10/2015">
    <Boring>b8</Boring>
    <Sample>s8</Sample>
    <Depth>8-8</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi8</Remarks>
    <Login_Order>10</Login_Order>
    <Report_Order>10</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B9 S9 9-9 SESAME STREET, MD 03/10/2015">
    <Boring>b9</Boring>
    <Sample>s9</Sample>
    <Depth>9-9</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi9</Remarks>
    <Login_Order>11</Login_Order>
    <Report_Order>11</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B10 S10 10-10 SESAME STREET, MD 03/10/2015">
    <Boring>b10</Boring>
    <Sample>s10</Sample>
    <Depth>10-10</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi10</Remarks>
    <Login_Order>12</Login_Order>
    <Report_Order>12</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@FRANK FARKN2">
    <Boring>frank</Boring>
    <Sample>farkn2</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>7</Login_Order>
    <Report_Order>7</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@FRANK FRANK">
    <Boring>frank</Boring>
    <Sample>frank</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>8</Login_Order>
    <Report_Order>8</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    </Samples>
    </Project_Data>
    jdweng

  • Updating an existing  xml file in java

    Hi,
    i need to update an existing xml file with new nodes. But i don.t know how to do that. i can read and write a new xml file . But updaton seems too difficult for me.
    my xml structure is like this
    <main_node>
    <node1>
    <name> name1</name1>
    <id>ID</id>
    </node1>
    <node2>
    <name2> name2</name2.
    <id>ID</id>
    </node2.
    </main_node>
    i want to insert node3 in this structure.
    please help, it,s urgent;
    Thanks in Advance

    here is the code if ur using dom..
    Node node4 = doc.createTextNode(name3);
    Element element4=doc.createElement("name3");
    element4.append(node4);
    c one thing that u should take care here is that u have created and is reflected on ly in ur document object and not in xml..for that u have to write some more code like this
    // This method writes a DOM document to a file
    public static void writeXmlFile(Document doc, String filename) {
    try {
    // Prepare the DOM document for writing
    Source source = new DOMSource(doc);
    // Prepare the output file
    File file = new File(filename);
    Result result = new StreamResult(file);
    // Write the DOM document to the file
    Transformer xformer = TransformerFactory.newInstance().newTransformer();
    xformer.transform(source, result);
    } catch (TransformerConfigurationException e) {
    } catch (TransformerException e) {
    look this code..that will help u
    regards
    [email protected]

  • How do i update an existing XML File?

    Hello, I have the following xml file gps.xml:<?xml version="1.0"?>
    <!DOCTYPE gps SYSTEM "gps.dtd">
    <gps>
       <latitude>43.00000</latitude>
       <longitude>-83.00000</longitude>
    </gps> I already have methods written to get the values. But how can I change these values and update the file to reflect these changes?
    thanks for your help!

    Hi, I already have this following code. I would just like to add a method to it to update the existing XML file with different lat/lon coordinates. Could you please help me out with it? thanks
    import java.io.*;
    import java.io.PrintWriter;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    public class Gps implements java.io.Serializable {
        private double latitude_;
        private double longitude_;
        public Gps(Document doc) {
            setup(doc.getDocumentElement());
        public Gps(String uri) throws IOException, SAXException, ParserConfigurationException {
            setup(uri);
        public void setup(Document doc) {
            setup(doc.getDocumentElement());
        public void makeElement(Node parent) {
            Document doc;
            if (parent instanceof Document) {
                doc = (Document)parent;
            } else {
                doc = parent.getOwnerDocument();
            Element element = doc.createElement("gps");
            int size;
            URelaxer.setElementPropertyByDouble(element, "latitude", this.latitude_);
            URelaxer.setElementPropertyByDouble(element, "longitude", this.longitude_);
            parent.appendChild(element);
         public Document makeDocument() throws ParserConfigurationException {
            Document doc = UJAXP.makeDocument();
            makeElement(doc);
            return (doc);
        public final double getLatitude() {
            return (latitude_);
        public final void setLatitude(double latitude) {
            this.latitude_ = latitude;
        public final double getLongitude() {
            return (longitude_);
        public final void setLongitude(double longitude) {
            this.longitude_ = longitude;
       public final void updateXmlFile(double latitude, double longitude) {
         // something???
        public final void updateXmlFile(double latitude, double longitude) {
            this.latitude_ = latitude;
            this.longitude_ = longitude;
        public String makeTextDocument() {
            StringBuffer buffer = new StringBuffer();
            makeTextElement(buffer);
            return (new String(buffer));
        public void makeTextElement(StringBuffer buffer) {
            int size;
            buffer.append("<gps");
            buffer.append(">");
            buffer.append("<latitude>");
            buffer.append(Double.toString(getLatitude()));
            buffer.append("</latitude>");
            buffer.append("<longitude>");
            buffer.append(Double.toString(getLongitude()));
            buffer.append("</longitude>");
            buffer.append("</gps>");
        public String toString() {
            try {
                return (makeTextDocument());
            } catch (Exception e) {
                return (super.toString());
    }

  • How to update Elements value inside existing xml file

    Hi Gurus,
    Am somehow new to java and working on xml with java, i have a scenario where i want to update the elements of my existing xml file, i know its possible as i have posted one code on this forum which updates the values of the arrtibutes of existing xml file. Ref :
    http://forum.java.sun.com/thread.jsp?forum=34&thread=186091&start=15&range=15&hilite=false&q=
    But am not able to use the same code to update the vlaues of the attribute.
    if i have this xml file :
    <?xml version="1.0"?>
    <RootElement>
    <Transaction>
    <Task9>
    <TaskID>Task9</TaskID>
    <Description>My Test Case</Description>
    <Time>12/12/2004</Time>
    </Task9>
    </Transaction>
    <Transaction>
    <Task2>
    <TaskID>Task2</TaskID>
    <Description>Testing my xml</Description>
    <Time>12/12/2004</Time>
    </Task2>
    </Transaction>
    </RootElemen>
    Now i want to update teh </Description> and </Time> field using the code that i have given above in the link.
    If any one can help me ill really appreciate.

    The value of an element is stored in a child node of that element. For example, let's say that "e" references the node <Description> then:
    e.getFirstChild().getNodeValue() => "My Test Case"

  • Updating an existing xml file using java code

    hi friends,
    I have simple problem, I have an existing xml file and I want to update some of the values in the file.
    can any one send me the java code for that.
    bye.
    -harish

    org.w3c.dom.Document d = parseXmlFile("D:/www/Detailcache/detail.xml", false);
    public static Document parseXmlFile(String filename, boolean validating) {
    try {
    // Create a builder factory
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(validating);
    // Create the builder and parse the file
    Document doc = factory.newDocumentBuilder().parse(new File(filename));
    return doc;
    } catch (Exception e) {
    System.out.println("ERROR-->");e.printStackTrace();
    return null;
    look at .. for more related examples
    http://javaalmanac.com/egs/javax.xml.parsers/BasicDom.html?l=rel

  • Comparing nodes in two xml files

    I need help with a flex app i am making. My skill level in flex is pretty much basic, so some of the questions may seem easy but they r not to me
    I need an application that will load two external xml files and compare nodes. The xml files are pretty much identical except for the values ofcourse. After that i need to write this data to a new xml file which my flex app will generate. Can anyone plz give me an example code which i can later modify for my own application. You can give me any type of an example with the simplest xml files.
    Thank you in advance

    "for in" and "for each in" statements can be used to iterate through the nodes. If the two xml files are of same structure , you can easily compare the node attributes. Here is the link to the livedocs page for looping through xml nodes
    http://livedocs.adobe.com/flex/3/html/help.html?content=13_Working_with_XML_08.html
    Create xml from string
    http://www.cflex.net/showFileDetails.cfm?ChannelID=1&ObjectID=784
    Message was edited by: Subeesh Arakkan

  • Unmarshalling a DOM node to an XML file with JAXB

    I'm trying to unmarshall a DOM node to an XML file using JAXB. However I keep receiving a NullPointerException. This only seems to occur when I create the DOM Node from scratch. The stack trace looks like the following:
    java.lang.NullPointerException
            at com.sun.xml.bind.unmarshaller.SAXUnmarshallerHandlerImpl.startElement
    (SAXUnmarshallerHandlerImpl.java:87)
            at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:109)
            at com.sun.xml.bind.unmarshaller.DOMScanner.parse(DOMScanner.java:64)
            at com.sun.xml.bind.unmarshaller.UnmarshallerImpl.unmarshal(Unmarshaller
    Impl.java:149)
            at Main.main(Main.java:103)(If I unmarshal an XML file into a DOM node, I can successfully marshall the DOM node out to a new XML file using JAXB without error.)
    Any insight into what I am doing wrong would be greatly appreciated!
    Sample code and XSD follow...
    Sample Code:
    import itemlistsample.*;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.w3c.dom.Text;
    public class Main
      public static void main(String[] args)
          try
              JAXBContext jc = JAXBContext.newInstance( "itemlistsample" );
              Unmarshaller u = jc.createUnmarshaller();
              * Set up DOM Node Document Object.
              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
              dbf.setNamespaceAware(true);                   
              DocumentBuilder db = dbf.newDocumentBuilder(); 
              Document doc = db.newDocument();
              System.out.println();
              System.out.println();
              System.out.println("Create a DOM Node and unmarshall to an XML file");
              * Generate elements within DOM document
              Element itemListElt = (Element)doc.createElement("item_list");
              Element itemInfo = (Element)doc.createElement("item_info");
              Element name = (Element)doc.createElement("name");
              Element price = (Element)doc.createElement("price");
              * 3-Ring Binder @ 4.99
              name.appendChild(doc.createTextNode("3-Ring Binder"));
              itemInfo.appendChild(name);
              price.appendChild(doc.createTextNode("4.99"));
              itemInfo.appendChild(price);
              itemListElt.appendChild(itemInfo);
              * Large Paper Clips @ 1.23
              itemInfo = (Element)doc.createElement("item_info");
              name = (Element)doc.createElement("name");
              price = (Element)doc.createElement("price");
              name.appendChild(doc.createTextNode("Large Paper Clips"));
              itemInfo.appendChild(name);
              price.appendChild(doc.createTextNode("1.23"));
              itemInfo.appendChild(price);
              itemListElt.appendChild(itemInfo);
              doc.appendChild(itemListElt);
              * Display DOM document as a sanity check
              itemListElt = doc.getDocumentElement();
              System.out.println(itemListElt.getTagName());
              NodeList nl = itemListElt.getElementsByTagName("item_info");
              traverse("  ", nl.item(0));
              * Use JAXB to unmarshal the DOM document into
              * an instance of the generated JAXB class for
              * the root element.  Stack trace occurs here!
              ItemListType il = (ItemListType)u.unmarshal(doc);
              * Marshal to an XML file
              Marshaller m = jc.createMarshaller();
              m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
              m.marshal( il, new FileOutputStream("item_new.xml") );
          catch (Exception e)
         e.printStackTrace();
      public static void traverse(String indent, Node n)
        if (n != null)
          if (n.getNodeName() != null)
            System.out.println(indent + n.getNodeName());
            traverse(indent + "  ", n.getFirstChild());
          if (n.getNodeValue() != null)
            System.out.println(indent + n.getNodeValue());
          traverse(indent, n.getNextSibling());
    }Sample XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:element name="item_list" type="ItemListType"/>
         <xsd:complexType name="ItemListType">
              <xsd:sequence>
                   <xsd:element name="item_info" type="ItemInfoType" maxOccurs="unbounded"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ItemInfoType">
              <xsd:sequence>
                   <xsd:element name="name" type="xsd:string"/>
                   <xsd:element name="price" type="xsd:double"/>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>

    Modified schema
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="item_list">     
    <xsd:complexType>          
    <xsd:sequence>               
    <xsd:element ref="item_info" maxOccurs="unbounded"/>     
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="item_info">
         <xsd:complexType>          
    <xsd:sequence>               
    <xsd:element name="name" type="xsd:string"/>     
         <xsd:element name="price" type="xsd:double"/>     
         </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>

  • How can I affix Data to a existing XML file?

    Hallo.
    I have to write Data to an XML file. This I have to in a stacked Sequence within a while loop. How can I write my Data to my existing XML file without overwriting my existing Data from the loop before?
    Thanks

    I made the erroneous assumption that you were using your own XML creation code.  The LabVIEW write to XML file VI overwrites the file every time.  You can get around this behavior in  a couple of ways.
    Create your own write to XML VIs using the LabVIEW one as your base.  The LabVIEW one write a header, writes your data, then writes the end tag.  Split this up so that you open the file and write the header before your loop.  During the loop, write your data.  Write the end tag and close the file when you exit the loop.  Don't overwrite the LabVIEW vi.lib function, or you will probably regret it.  Copy it to a different location before you start your modifications.
    Use the LabVIEW write to XML file for the first write of the loop.  This will give you a file with a header and your first set of data.  Still in the first loop iteration, reopen the file and position the file pointer on the start of the end tag (</LVData>).  In subsequent loop operations, flatten your data to XML and write to the file directly using the file write primitive.  When you exit your loop, write an end-of-line character and the end tag "</LVData>" and close the file.
    If you need more detailed help on either of the above methods, let me know.
    Out of curiosity, why are you saving your data as XML?  There may be a better way to do it, depending on your application.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Create the original prov.xml file for Provisioning Toolkit Enterprise?

    How do you create the original prov.xml file to be used with Provisioning Toolkit Enterprise? This is for use to resovle the issue with Creative Cloud Enterprise deployments serialization breaking during imaging. Several people indicated to try and reserialize with PTE. 

    Hi msdavidson,
    Please follow this KB article for Adobe Provisioning Toolkit.
    http://helpx.adobe.com/creative-cloud/packager/provisioning-toolkit-enterprise.html
    Hope it answers your query.
    Regards,
    Abhijit

  • Why we need to conver Context  Node data into XML file----Export to Excel

    Hi All,
    Let me clarify my dought........today i have gone through the concept of  "Exporting Context Data Using the Webdynpro Binary cache" in SAP Online Help.
    From the SAP Online Help pdf document, i have found that, the context node data has been converted first in to XML file,after that file had been stored in the web dynpor binary cache...bla....bla.........
    Here my qtn is why they had converted context node data into XML file. With out doing that can not we export context node data to excel file..?
    Regards
    Seshu
    Edited by: Sesshanna D on Dec 19, 2007 7:25 AM

    Hi Sesshanna,
    it is not neccessary to do that but xml has the advantage, that it can be easily transformed into every output format that might occur in later project stages.
    If it's simply about blowing out some Excel, I suggest using an OSS library such as jexcelAPI or Jakarta POI and building the Excel how you need it.
    regards,
    Christian

  • How to create Inbound Idoc from XML file-Need help urgently

    Hi,
    can any one tell how to create inbound Idoc from XML file.
    we have xml file in application server Ex. /usr/INT/SMS/PAYTEXT.xml'  we want to generate inbound idoc from this file.we are successfully able to generate outbound XML file from outbound Idoc by using the XML port. But not able to generate idoc from XML file by using we19 or we16.
    Please let me know the process to trigger inbound Idoc with out using  XI and any other components.
    Thanks in advance
    Dora Reddy

    Hi .. Did either of you get a result on this?
    My question is the same really .. I am testing with WE19 and it seems SAP cannot accept an XML inbound file as standard.
    I see lots of mention of using a Function Module.
    Am I correct in saying therefore that ABAP development is required to create a program to run the FM and process the idoc?
    Or is there something tht can be done with Standard SAP?
    Thanks
    Lee

  • Creating jsf faces-config.xml file

    Hello.
    I'm a newbee on Sun Java Studio Enterprice and have just converted from Borland Jbuilder.
    In borland, if I create a new "webmodule" and include the jfs library, Borland automaticaly creates the faces-config.xml file for me. The IDE then helps me keep this file up to date.
    After creating a new project in Sun Java Studio Enterprice I have gone into propereties and included the jsf-1_1_01.zip file (I googled jsf library and found this file. If I include this file I get access to the <h: -taglib etc so it seems to be working). But the IDE doesn't create the faces-config.xml file.
    Do I need to create this manually or what do I do wrong?

    As an alternative to Creator (which mostly implies WYSIWYG editing of JSP pages) you can consider NetBeans 5.0 or NetBeans 5.5 Beta. They also support JSF.

Maybe you are looking for

  • How to schedule a background job using the Event concept..?

    Hi Folks, I have a requirement that, I need a schedule a background job. Once after the previous job successful only, new job should get triggered. How to go ahead with this..? For Eg, I am scheduling a job called ZTEST periodically for 1 minute. If

  • Reposting this - bringing dvd footage into FCP - progressive scan

    I occasionally have clients that need me to bring footage into their projects from a dvd or vhs. I'm looking into getting something that can do both NTSC & PAL and I've come across this product: Sharp DV-NC80 6-Head Hi-Fi Stereo VHS/S-VHS VCR & DVD,

  • Making a calendar in iphoto

    I have made calendars on my Mac desktop without problems. But on my Macbook, I cannot make calendars, only a book or card. The calendar icon is missing. I re installed the disc with 'bundles' on but it still is not there Any ideas please, if Idid not

  • How can i move the position of the element in Script From ?

    Dear Guru , I am developing one SCRIPT FORM for the purchase order in ECC6 system . And i found it is very diffult to move the element position because i am adding the space in the editor for the position moving ... Please see my stupid code : /E    

  • Software installation problems

    I've tried probably 16 times now to install Maya 2015 on my brand new iMac (3TB hard drive space, running OS X 10.9.4). The installation process zips along in about 3 seconds and just says "Installation failed on Exit" Looking at the log, it looks li