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
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 AMin 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 -
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
-
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.
-harishorg.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 -
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...
ShawnHere 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 -
How to add a new node into existing XML Document
I have a very simple question. I use XML as input argument for PL/SQL procedure that inserts data into the corresponding table. All I have to do is to add a new tag for Primary Key column and put sequence.NEXTVAL - value into it.
<ROWSET>
<ROW>
-- Add <ID_table_name> value </ID_table_name> ??????
<FIELD1>data1</FIELD1>
<FIELD2>data1</FIELD2>
</ROW>
</ROWSET>
I've parsed XML, but I couldn't find the way how to insert the new NODE.
If you know how to use packages XMLDOM, XMLParser for this purpose, please help me!
Oracle version 8.1.7DOMParser parser=new DOMParser();
XMLDocument xmlDocument=parser.getdocument();
Node node=xmlDocument.selectSingleNode("/ROWSET/ROW");
Element element=xmlDocument.createElement(String tagName)
node.appendChild(element); -
How to Update existing XML File Using Java Swing
Hi,
I am reading XML file and getting keywords into JList. When i add some keywords into JList through textfield and remove keywords JList, then after click on save button it should update xml file. How can i do it ?
Please provide me some code tips for updating xml file
This is the code that i am using for reading XML File:
import javax.swing.*;
import java.awt.event.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.util.*;
import java.text.Collator;
import java.util.regex.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;
public class getKeywords extends JFrame implements ActionListener
static JPanel p;
static JLabel lbl;
static JButton btnSave,btnAdd,btnRemove;
static String path;
static Vector v;
static JList lstCur;
static JTextField txtKey;
Document dom;
static image imgval;
NodeList nodelstImage;
static AnchorLayout anchorLay;
private DefaultListModel lstCurModel;
public getKeywords()
super("Current Keywords");
v=new Vector();
p=new JPanel();
txtKey=new JTextField(10);
btnAdd=new JButton("Add");
btnRemove=new JButton("Remove");
btnSave=new JButton("Save");
lbl=new JLabel("Current Keywords");
lstCurModel=new DefaultListModel();
lstCur=new JList();
JScrollPane scr=new JScrollPane(lstCur);
runExample();
lstCur.setModel(lstCurModel);
p.add(lbl);
p.add(scr);
p.add(txtKey);
p.add(btnAdd);
p.add(btnRemove);
p.add(btnSave);
add(p);
btnAdd.addActionListener(this);
btnRemove.addActionListener(this);
btnSave.addActionListener(this);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
public static void main(String arg[])
getKeywords g=new getKeywords();
g.resize(250,400);
g.setVisible(true);
public void actionPerformed(ActionEvent ae)
if(ae.getSource()==btnAdd)
lstCurModel.addElement(txtKey.getText());
if(ae.getSource()==btnRemove)
lstCurModel.remove(lstCur.getSelectedIndex());
if(ae.getSource()==btnSave)
//Code to Write
public void runExample()
//Parse the XML file and get the DOM object
ParseXMLFile();
//Get the Detail of the Image Document
parseImageDocument();
//Get the Detail of the LML Document
//parseLMLDocument();
//System.out.println(lmlval.Title);
public void ParseXMLFile()
//Get the Factory
DocumentBuilderFactory builderFac = DocumentBuilderFactory.newInstance();
try
//Using factory get an instance of the Document Builder
DocumentBuilder builder = builderFac.newDocumentBuilder();
//parse using builder to get DOM representation of the XML file
dom = builder.parse("LML.xml");
catch(ParserConfigurationException pce)
pce.printStackTrace();
catch(SAXException sax)
sax.printStackTrace();
catch(IOException ioex)
ioex.printStackTrace();
public void parseImageDocument()
//Get the root element
Element docImgEle = dom.getDocumentElement();
//Get a nodelist for <Image> Element
nodelstImage = docImgEle.getElementsByTagName("Image");
if(nodelstImage != null && nodelstImage.getLength() > 0)
for(int i = 0; i < nodelstImage.getLength(); i++)
//Get the LML elements
Element el = (Element)nodelstImage.item(i);
//Get the LML object
getImage myImgval = new getImage();
imgval = myImgval.getimage(el);
v.addElement(new String(imgval.Thumb));
String[] x = Pattern.compile(",").split(imgval.Keys);
for (int s=0; s<x.length; s++)
lstCurModel.addElement(x[s].trim());
//System.out.println(x[s].trim());
} Thanks
NitinYou should update your DOM document to represent the changes that you want made.
Then, using the Transformation API you simply transform your document onto a stream representing your file. Something like this:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// TODO - set indentation amount!
Source source = new DOMSource(dom);
Result result = new StreamResult(file);
transformer.transform(source, result);Hope this helps. -
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 to Save a XML file using Document Object
Hai all,
I am new to XML and i created a application to insert a node in the XML file using org.w3c.dom.Document object. And want to know which method has to be used to store the Document object into a XML fille.The standard way would be to use a transformer with no transformation where the destination is a StreamResult.
something like:
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.transform(new DOMSource(doc), new StreamResult("output.xml")); -
How to create new XML file using retreived XML content by using SAX API?
hi all,
* How to create new XML file using retreived XML content by using SAX ?
* I have tried my level best, but output is coming invalid format, my code is follows,
XMLFileParser.java class :-
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.XMLFilterImpl;
public class PdfParser extends XMLFilterImpl {
private TransformerHandler handler;
Document meta_data;
private StringWriter meta_data_text = new StringWriter();
public void startDocument() throws SAXException {
void startValidation() throws SAXException {
StreamResult streamResult = new StreamResult(meta_data_text);
SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
try
handler = factory.newTransformerHandler();
Transformer transformer = handler.getTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
handler.setResult(streamResult);
handler.startDocument();
catch (TransformerConfigurationException tce)
System.out.println("Error during the parse :"+ tce.getMessageAndLocation());
super.startDocument();
public void startElement(String namespaceURI, String localName,
String qualifiedName, Attributes atts) throws SAXException {
handler.startElement(namespaceURI, localName, qualifiedName, atts);
super.startElement(namespaceURI, localName, qualifiedName, atts);
public void characters(char[] text, int start, int length)
throws SAXException {
handler.characters(text, start, length);
super.characters(text, start, length);
public void endElement(String namespaceURI, String localName,
String qualifiedName) throws SAXException {
super.endElement("", localName, qualifiedName);
handler.endElement("", localName, qualifiedName);
public void endDocument() throws SAXException {
void endValidation() throws SAXException {
handler.endDocument();
try {
TransformerFactory transfactory = TransformerFactory.newInstance();
Transformer trans = transfactory.newTransformer();
SAXSource sax_source = new SAXSource(new InputSource(new StringReader(meta_data_text.toString())));
DOMResult dom_result = new DOMResult();
trans.transform(sax_source, dom_result);
meta_data = (Document) dom_result.getNode();
System.out.println(meta_data_text);
catch (TransformerConfigurationException tce) {
System.out.println("Error occurs during the parse :"+ tce.getMessageAndLocation());
catch (TransformerException te) {
System.out.println("Error in result transformation :"+ te.getMessageAndLocation());
} CreateXMLFile.java class :-
Sax.startDocument();
Sax.startValidation();
Sax.startElement("", "pdf", "pdf", new AttributesImpl());
Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());
String xmp_str = new String(meta_data.getByteArray(),"UTF8");
char[] xmp_arr = xmp_str.toCharArray();
Sax.characters(xmp_arr, 0, xmp_arr.length);
Sax.endElement("", "pdf", "pdf");
Sax.endValidation();
Sax.endDocument();
Sax.endElement("", "basic-metadata", "basic-metadata");* In CreateXMLFile.java
class, I have retreived the xml content in the meta_data object, after that i have converted into character array and this will be sends to SAX
* In this case , the XML file created successfully but the retreived XML content added as an text in between basic-metadata Element, that is, retreived XML content
is not an XML type text, it just an Normal text Why that ?
* Please help me what is the problem in my code?
Cheers,
JavaImranSax.startDocument();
Sax.startValidation();
Sax.startElement("", "pdf", "pdf", new AttributesImpl());
Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());
String xmp_str = new String(meta_data.getByteArray(),"UTF8");
char[] xmp_arr = xmp_str.toCharArray();
Sax.characters(xmp_arr, 0, xmp_arr.length);
</code><code>Sax.endElement("", "basic-metadata", "basic-metadata");</code>
<code class="jive-code jive-java">Sax.endElement("", "pdf", "pdf");
Sax.endValidation();
Sax.endDocument();
* I HAVE CHANGED MY AS PER YOUR SUGGESTION, NOW SAME RESULT HAS COMING.
* I AM NOT ABLE TO GET THE EXACT OUTPUT.,WHY THAT ?
Thanks,
JavaImran{code} -
SAX: How to create new XML file using SAX parser
Hi,
Please anybody help me to create a XML file using the Packages in the 5.0 pack of java. I have successfully created it reading the tag names and values from database using DOM but can i do this using SAX.
I am successful to read XML using SAX, now i want to create new XML file for some tags and its values using SAX.
How can i do this ?
Sachin KulkarniSAX is a parser, not a generator.Well,
you can use it to create an XML file too. And it will take care of proper encoding, thus being much superior to a normal textwriter:
See the following code snippet (out is a OutputStream):
PrintWriter pw = new PrintWriter(out);
StreamResult streamResult = new StreamResult(pw);
SAXTransformerFactory tf = (SAXTransformerFactory) TransformerFactory.newInstance();
// SAX2.0 ContentHandler.
TransformerHandler hd = tf.newTransformerHandler();
Transformer serializer = hd.getTransformer();
serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");//
serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"pdfBookmarks.xsd");
serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"http://schema.inplus.de/pdf/1.0");
serializer.setOutputProperty(OutputKeys.METHOD,"xml");
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
hd.setResult(streamResult);
hd.startDocument();
//Get a processing instruction
hd.processingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"mystyle.xsl\"");
AttributesImpl atts = new AttributesImpl();
atts.addAttribute("", "", "someattribute", "CDATA", "test");
atts.addAttribute("", "", "moreattributes", "CDATA", "test2");
hd.startElement("", "", "MyTag", atts);
String curTitle = "Something inside a tag";
hd.characters(curTitle.toCharArray(), 0, curTitle.length());
hd.endElement("", "", "MyTag");
hd.endDocument();
You are responsible for proper nesting. SAX takes care of encoding.
Hth
;-) stw -
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 Advancehere 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" -
Creating XML File Using xmldom Package
How can I create an XML file from scratch using the PL/SQL xmldom package?
I want to create an XML file using the xmldom package instead of building the individual tags as strings of VARCHAR2 character data. There is quite a bit of documentation regarding manipulating input XML files using DOM -- but not for creating XML files from scratch given known "tagnames" (<lastName>) and retrieved database "values" ("Smith").
<person>
<lastName>Smith</lastName>
</person>
Is there any documentation that you can recommend?
Thank you.Here is an example.
The create_file procedure creates the file.
The other procedures are generic procs that can be used with any XML.
PROCEDURE create_file_with_root(po_xmldoc OUT xmldom.DOMDocument,
pi_root_tag IN VARCHAR2,
po_root_element OUT xmldom.domelement,
po_root_node OUT xmldom.domnode,
pi_doctype_url IN VARCHAR2) IS
xmldoc xmldom.DOMDocument;
root xmldom.domnode;
root_node xmldom.domnode;
root_element xmldom.domelement;
record_node xmldom.domnode;
newelenode xmldom.DOMNode;
BEGIN
xmldoc := xmldom.newDOMDocument;
xmldom.setVersion(xmldoc, '1.0');
xmldom.setDoctype(xmldoc, pi_root_tag, pi_doctype_url,'');
-- Create the root --
root := xmldom.makeNode(xmldoc);
-- Create the root element in the file --
create_element_and_append(xmldoc, pi_root_tag, root, root_element, root_node);
po_xmldoc := xmldoc;
po_root_node := root_node;
po_root_element := root_element;
END create_file_with_root;
PROCEDURE create_element_and_append(pi_xmldoc IN OUT xmldom.DOMDocument,
pi_element_name IN VARCHAR2,
pi_parent_node IN xmldom.domnode,
po_new_element OUT xmldom.domelement,
po_new_node OUT xmldom.domnode) IS
element xmldom.domelement;
child_node xmldom.domnode;
newelenode xmldom.DOMNode;
BEGIN
element := xmldom.createElement(pi_xmldoc, pi_element_name);
child_node := xmldom.makeNode(element);
-- Append the new node to the parent --
newelenode := xmldom.appendchild(pi_parent_node, child_node);
po_new_node := child_node;
po_new_element := element;
END create_element_and_append;
FUNCTION create_text_element(pio_xmldoc IN OUT xmldom.DOMDocument, pi_element_name IN VARCHAR2,
pi_element_data IN VARCHAR2, pi_parent_node IN xmldom.domnode) RETURN xmldom.domnode IS
parent_node xmldom.domnode;
child_node xmldom.domnode;
child_element xmldom.domelement;
newelenode xmldom.DOMNode;
textele xmldom.DOMText;
compnode xmldom.DOMNode;
BEGIN
create_element_and_append(pio_xmldoc, pi_element_name, pi_parent_node, child_element, child_node);
parent_node := child_node;
-- Create a text node --
textele := xmldom.createTextNode(pio_xmldoc, pi_element_data);
child_node := xmldom.makeNode(textele);
-- Link the text node to the new node --
compnode := xmldom.appendChild(parent_node, child_node);
RETURN newelenode;
END create_text_element;
PROCEDURE create_file IS
xmldoc xmldom.DOMDocument;
root_node xmldom.domnode;
xml_doctype xmldom.DOMDocumentType;
root_element xmldom.domelement;
record_element xmldom.domelement;
record_node xmldom.domnode;
parent_node xmldom.domnode;
child_node xmldom.domnode;
newelenode xmldom.DOMNode;
textele xmldom.DOMText;
compnode xmldom.DOMNode;
BEGIN
xmldoc := xmldom.newDOMDocument;
xmldom.setVersion(xmldoc, '1.0');
create_file_with_root(xmldoc, 'root', root_element, root_node, 'test.dtd');
xmldom.setAttribute(root_element, 'interface_type', 'EXCHANGE_RATES');
-- Create the record element in the file --
create_element_and_append(xmldoc, 'record', root_node, record_element, record_node);
parent_node := create_text_element(xmldoc, 'title', 'Mr', record_node);
parent_node := create_text_element(xmldoc, 'name', 'Joe', record_node);
parent_node := create_text_element(xmldoc,'surname', 'Blogs', record_node);
-- Create the record element in the file --
create_element_and_append(xmldoc, 'record', root_node, record_element, record_node);
parent_node := create_text_element(xmldoc, 'title', 'Mrs', record_node);
parent_node := create_text_element(xmldoc, 'name', 'A', record_node);
parent_node := create_text_element(xmldoc, 'surname', 'B', record_node);
-- write the newly created dom document into the buffer assuming it is less than 32K
xmldom.writeTofile(xmldoc, 'c:\laiki\willow_data\test.xml');
EXCEPTION
WHEN xmldom.INDEX_SIZE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Index Size error');
WHEN xmldom.DOMSTRING_SIZE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'String Size error');
WHEN xmldom.HIERARCHY_REQUEST_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Hierarchy request error');
WHEN xmldom.WRONG_DOCUMENT_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Wrong doc error');
WHEN xmldom.INVALID_CHARACTER_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Invalid Char error');
WHEN xmldom.NO_DATA_ALLOWED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Nod data allowed error');
WHEN xmldom.NO_MODIFICATION_ALLOWED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'No mod allowed error');
WHEN xmldom.NOT_FOUND_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Not found error');
WHEN xmldom.NOT_SUPPORTED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Not supported error');
WHEN xmldom.INUSE_ATTRIBUTE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'In use attr error');
WHEN OTHERS THEN
dbms_output.put_line('exception occured' || SQLCODE || SUBSTR(SQLERRM, 1, 100));
END create_file;
Maybe you are looking for
-
Fulltext search of binary files outside of database in SQL 2012/Server 2012
This may be more of a Windows Server 2012 question but I'm not sure. I have a system that holds large amounts of binary files (pdf, doc, etc.). The files themselves are held outside the database in a folder and a SQL table holds the metadata. I use
-
SAP experts, I need to find a JE report with the following columns in particular for the client. I know I can go to FB03, S_ALR_87012286, S_ALR_87012287 and S_ALR_87012289, but I am not a able to get a simple reports with these columns. Company code,
-
FBZG - Failed Bill of Exchange - copy previous document dates
Example Bill of Exchange configured 1 BoE per invoice Invoice 1 - dated 30 march 2010 1000EUR Run F110 and get document putting 1000EUR into Bills receivable When bill due 1000 EUR debit / credit bank / bank clearing Run F_72 bank clearing and bil
-
i attempt to write "navto://article name" and it gives a error 101 when i pre-view it on my testing ipad. because of this i cannot send my folio to apple. i have been on the phone with just about every tech in the call center, and nobody has been a
-
DB13 - Scheduled Update Statistics not run - Error
Hello gurus, I´m faccing with an error in DB13, I scheduled Update statistics every day but it did not run due an error. I think this may resulted because an authorization problem. In /usr/sap is with this permissions: drwxr-xr-x 15 orad01 dba 409