Need to read a XML file and store multilingual data
I am having an XML file which contains multiple records and each maybe in a different language .identified EN -english ES-Spanish etc
- <Document xmlns="http://www.xxxxx.com/ws/integration/toolkit/2011/05">
- <Attributes>
<Attribute name="duration">0:00:02.993</Attribute>
<Attribute name="count">47</Attribute>
<Attribute name="entity">Requisition</Attribute>
<Attribute name="mode">XML</Attribute>
<Attribute name="version">http://www.xxxx.com/ws/tee800/2009/01</Attribute>
</Attributes>
- <Content>
- <ExportXML xmlns="http://www.xxxxx.com/ws/integration/toolkit/2005/07/action/export">
- <record>
<field name="ContestNumber">120000002O</field>
<field name="JobInformation,JobType,Description">Standard</field>
<field name="JobFamily">ACCOUNTING/FINANCE</field>
<field name="JobInformation,Organization,Name">CHMS-DO NOT USE</field>
<field name="Country">USA</field>
<field name="State">Illinois</field>
<field name="City">Lake County</field>
<field name="Title_EN">TaTest1</field>
<field name="Title_es">TaTest1 translated to Espanol</field>
<field name="InternalDescription_EN">Humira marketing team - develop programs.</field>
<field name="InternalDescription_zhCN" />
<field name="InternalDescription_zhTW" />
<field name="InternalDescription_es">Development of marketing programs for </field>
<field name="ExternalDescription_EN">Marketing programs for core products</field>
<field name="ExternalDescription_zhCN" />
<field name="ExternalDescription_zhTW" />
<field name="ExternalDescription_es">Marketing core products - Spain</field>
<field name="URL_en">http://[ZONE]/careersection/[CAREER_SECTION]/jobdetail.ftl?lang=en&job=120000002O</field>
<field name="URL_zhCN" />
<field name="URL_zhTW" />
<field name="URL_es">http://[ZONE]/careersection/[CAREER_SECTION]/jobdetail.ftl?lang=es&job=120000002O</field>
<field name="PostedExternally">true</field>
<field name="PostedInternally">true</field>
<field name="EnglishActive">true</field>
<field name="SimplifiedChineseActive">false</field>
<field name="TraditionalChineseActive">false</field>
<field name="SpanishActive">true</field>
<field name="InternalBonusTracking" />
<field name="ExternalBonusTracking" />
<field name="POSTING_GRADE" />
<field name="SAP_Schedule">Full-time</field>
<field name="PostingDateExternal">2012-11-20</field>
<field name="PostingDateInternal">2012-11-20</field>
</record>
</ExportXML>
</Content>
</Document>
I need to store and retrieve data into a AL32UTF8 database without losing language attributed.
I am using DBMS_XMLDOM.getnodevalue (); to fetch the XML stored in a CLOB column
But the package returns VARCHAR2 .How do i return NVARCHAR2 so that i can store Multilingual data
DBMS_XMLDOM.GETNODEVALUE(
n IN DOMNode)
RETURN VARCHAR2;
Or is there an easier way around using XMLTYPE
Edited by: Rameshkumar T on Nov 27, 2012 6:14 AM
dbms_lob.loadclobfromfile( v_xml_msg
, v_xml_bfile
, dbms_lob.getlength(v_xml_bfile)
, v_dest_offset
, v_src_offset
, NLS_CHARSET_ID('AL32UTF8')
, v_lang_context
, v_warning
SELECT message
INTO v_xml_clob
FROM gjb_xml_message gtmq
WHERE message_id = v_msg_id;
v_line_no := 1;
v_doc := dbms_xmldom.newDOMDocument(v_xml_clob);
v_line_no := 2;
v_nodes := dbms_xmldom.getElementsByTagName(v_doc, '*');
FOR i IN 0..dbms_xmldom.getlength(v_nodes)-1
LOOP
BEGIN
v_line_no := 3.0;
v_element_x := dbms_xmldom.makeelement(xmldom.item(v_nodes,i));
v_line_no := 3.1;
v_node := dbms_xmldom.item(v_nodes,i);
v_line_no := 3.2;
v_tag := dbms_xmldom.getNodeName(v_node);
v_line_no := 3.3;
v_node_2 := dbms_xmldom.getfirstchild(v_node);
v_line_no := 4.0;
v_node_map := DBMS_XMLDOM.getattributes (v_node);
FOR x in 0 ..DBMS_XMLDOM.getlength (v_node_map)- 1
LOOP
BEGIN
v_line_no := 4.1;
v_one_node := DBMS_XMLDOM.item (v_node_map, x);
v_line_no := 4.2;
v_attrname := DBMS_XMLDOM.getnodename (v_one_node);
v_line_no := 4.3;
v_attrval := DBMS_XMLDOM.getnodevalue (v_one_node);
IF v_attrval = 'ContestNumber' THEN
v_line_no := 4.4;
v_contest_num := v_tag_value;
v_rec_no := NULL;
IF v_load_type = 'I' THEN
v_rec_no := fn_get_job_id(v_contest_num);
END IF;
IF v_rec_no IS NULL THEN
SELECT seq_gjbjobid.NEXTVAL
INTO v_rec_no
FROM dual;
END IF;
END IF;
IF UPPER(v_tag) = 'FIELD' THEN
BEGIN
v_line_no := 5;
INSERT INTO gjb_xml_data
( message_id
, job_id
, tag_name
, col_name
, col_no
, tag_level
, tag_value
, tag_lang
, tag_value_clob
SELECT v_msg_id
, v_rec_no
, tag_name
, col_name
, col_no
, tag_level
, v_tag_value
, tag_lang
, v_tag_value_clob
FROM gjb_xml_tags gxt
WHERE tag_name = v_attrval;
v_tag_value := NULL;
v_tag_value_clob := NULL;Edited by: Rameshkumar T on Nov 27, 2012 8:27 AM
Similar Messages
-
How to extract data from xml file and store that data inti data base table
Hii All
I have one table that table contains one column that column contain an XML file
I want to extract data from that XML file and want to store that extracted data into an other table.
That xml file has different different values
I want to store that values into table in diff diff columnsHi,
I am also facing the same problem.I have a .xml file and i need to import the data into the custom table in oracle database.
Can you please let me know if you know the solution how to do it in oracle apps.
Thanks, -
Read a XML file and store an element to a String
Hello,
I'm looking for a solution to load an XML file (see below), read all elements and store the first of them (the first "description" element) in a String variable.
Should I load the file in a Node variable?
What is the best solution?
The XML file looks like:
<document>
<typeOfWorkstation >
<item id="desktop">
<description>Desktop</description>
</item>
<item id="laptop">
<description>Laptop</description>
</item>
<item id="other">
<description>Other configuration</description>
</item>
</typeOfWorkstation>
</docuement>
All suggestions will be greatly appreciated
Thank you
Sylvainno example, uh? the tutorial is packed with code samples
this will get you started:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("c:/folder/data.xml")); -
Reading A xml file and sending that XML Data as input to a Service
Hi All,
I have a requirement to read(I am using File adapter to read) a xml file and map the data in that xml to a service(schema) input variable.
Example of xml file that I have to read and the content of that xml file like below:
<StudentList>
<student>
<Name> ravi</Name>
<branch>EEE</branch>
<fathername> raghu</fathername>
</student>
<student>
<Name> raju</Name>
<branch>ECE</branch>
<fathername> ravi</fathername>
</student>
<StudentList>
I have to pass the data(ravi,EEE,raghu etc) to a service input varible. That invoked Service input variable(schema) contains the schema similar to above schema.
My flow is like below:
ReadFile file adapter -------------------> BPEL process -----> Target Service.I am using transform activity in BPEL process to map the data from xml file to Service.
I am using above xml file as sample in Native Data format(to create XSD schema file).
After I built the process,I checked file adapter polls the data and receive the file(I am getting View xml document in EM console flow).
But transform activity does not have anything and it is not mapping the data.I am getting blank data in the transform activity with only element names like below
---------------------------------------------------------------------------EM console Audit trail (I am giving this because u can clearly understand what is happening-----------------------------------------------------
-ReceiveFile
-some datedetails received file
View XML document (This xml contains data and structure like above xml )
- transformData:
<payload>
<InvokeService_inputvariable>
<part name="body">
<StudentList>
<student>
<name/>
<branch/>
<fathername/>
</student>
</StudentList>
</part>
</InvokeService_inputvariable>
'Why I am getting like this".Is there any problem with native data format configuration.?
Please help me out regarding this issue as I am running out my time.Hi syam,
Thank you very much for your replies so far so that I have some progrees in my task.
As you told I could have put default directory in composite.xml,but what happenes is the everyday new final subdirectory gets created in the 'soafolder' folder.What I mean is in the c:/soafolder/1234_xmlfiles folder, the '1234_xmlfiles' is not manually created one.It is created automatically by executing some jar.
Basically we can't know the sub folder name until it is created by jar with its own logic. whereas main folder is same(soafolder) ever.
I will give you example with our folder name so that it would be more convenient for us to understand.
1) yesterday's the folder structure : 'c:/soafolder/130731_LS' .The '130731_LS' folder is created automatically by executing some jar file(it has its own logic to control and create the subdirectories which is not in our control).
2) Today's folder structure : 'c:/soafolder/130804_LS. The folder is created automatically(everytime the number part(130731,130804).I think that number is indicating 2013 july 31 st like that.I have to enquire about this)is changing) at a particular time and xml files will be loaded in the folder.
Our challenge : It is not that we can put the default or further path in composite.xml and poll the file adapter.Not everytime we have to change the path in composite.xml.The process should know the folder path (I don't know whether it is possible or not.) and everyday and file adapter poll the files in that created subfolders.
I hope you can understand my requirement .Please help me out in this regard. -
Reading the datas in the Xml file and store it in the array using java
Hi every one
Can any one send me the java coding for traversing through XML file and get the data and store it in the array (SAX parser is prefered)
its a urgent requirement . please help me
Regards
Aruni send it to ur mail id ,
could you please send me a mail to [email protected] -
Read of XML file and post to IDOC
Hi
I'm working on a <b>WAS620</b> and need to read an XML file from a customer, extract the fields needed and post these via IDOC ORDERS01. My problem is HOW to read the XML file? Can anyone give me the steps involved/links to examples etc - I have not processed XML files via ABAP before.
The file is posted to a shared folder and the ABAP I am about to develop will pick up this file.
The file is <b>NOT</b> in IDOC/XML format but the customers own format
Hope someone can help me asap.
Thanks all in advance
/BoHi,
I would like to extend this question for <b>WAS620</b> and <b>reading</b> a <b>proprietary customer specific XML</b> file/data that is <b>send via HTTP to SAP WAS</b>.
<b>Q1</b>: What is the best way to read this HTTP sent XML data (as it is, without transformations) into ABAP?
<b>Q2</b>: What is the appropriate handler to use in the ICF object?
Thanks all in advance -
Read a property file and store it in a hashmap
Hi,
I have tried to read a property file and store it in a hashmap. The property-names should be stored in keys and the property-values (after = symbol) in values of the hashmap. any ideas? Is it possible to do this?mandy2001ir wrote:
yes, but I need the hashmap for another reason. Actually I'm trying to use the properties file to have a dynamic hachmap. I don't want to change the code anytime I want to put a value in the hashmap. therefor I write the "keys" and "values" in a property file and change the property file. That's the reasn why we have property files, isn't it?What's a "dynamic hashmap"? There's no other kind! Whenever someone starts bandying around the word "dynamic" in contexts like this, it usually means there's a simple solution to their problem, that they haven't yet considered, or mistakenly don't believe is applicable to them, because of this "unique" need for something "dynamic". Trust me, you just need to load the file using a Properties object, and you're done. Properties extends Hashtable, which is virtually the same thing as a HashMap. Properties does exactly what you want it to. it's the very reason the class exists
Have you even looked at the javadoc for java.util.Properties yet? I'm betting not, because if you had, you'd know exactly what I meant. And since you haven't, I'm at a bit of a loss as to how you can so easily dismiss the class as useless, despite existing to do exactly what you need -
How to read XML file and update the data in MS CRM 2011?
Hi Folks,
Can anyone please help me finding some references to read XML files and push the data to MS CRM 2011 preferably by using a console application.
Please let me know if any ways of handling it in simple ways.
Thanks,
SriHI,
How to read XML file:
https://social.msdn.microsoft.com/Forums/en-US/5dd7261b-86c4-4ca8-ba87-95196ef3ba50/need-to-display-xml-file-in-textboxes-edit-the-data-and-save-the-new-xml-file?forum=csharpgeneral
How to work with CRM:
ClientCredentials credentials = new ClientCredentials();
credentials.Windows.ClientCredential = new System.Net.NetworkCredential("USER", "Password", "Domain");
Uri uri = new Uri("http://server/Organization/XRMServices/2011/Organization.svc");
OrganizationServiceProxy proxy = new OrganizationServiceProxy(uri, null, credentials, null);
proxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());
IOrganizationService service = (IOrganizationService)proxy;
//using "service" you can create, update and retrieve entities.
More information here about service functions:
https://msdn.microsoft.com/en-us/library/gg328198.aspx -
Code to read xml file and display that data using sax parser
Hai
My problem I have to read a xml file and display the contents of the file on console using sax parser.here you go
-
How can i read the text files and buffer the data in Vector?
hi. I have been running into this problem for days, but with no luck and losing right direction.
The problem is : I am trying to read a text file and buffer the data into a
Queue for each user.
the sample text file is as below:( 1st column is timestamp, 2nd is user_id, 3rd is packet_id, 4th is packet_seqno, 5th is packet_size)
0 1 1 1 512
1 2 1 2 512
2 3 1 3 512
3 4 1 4 512
4 5 1 5 512
5 6 1 6 512
6 7 1 7 512
7 8 1 8 512
8 9 1 9 512
9 10 1 10 512
10 1 2 11 512
11 2 2 12 512
12 3 2 13 512
13 4 2 14 512
14 5 2 15 512
15 6 2 16 512
16 7 2 17 512
17 8 2 18 512
18 9 2 19 512
19 10 2 20 512
20 1 3 21 512
21 2 3 22 512
22 3 3 23 512
23 4 3 24 512
24 5 3 25 512
25 6 3 26 512
26 7 3 27 512
27 8 3 28 512
28 9 3 29 512
29 10 3 30 512
30 1 4 31 512
31 2 4 32 512
32 3 4 33 512
33 4 4 34 512
34 5 4 35 512
35 6 4 36 512
36 7 4 37 512
37 8 4 38 512
38 9 4 39 512
39 10 4 40 512
40 1 5 41 512
41 2 5 42 512
42 3 5 43 512
43 4 5 44 512
44 5 5 45 512
45 6 5 46 512
46 7 5 47 512
47 8 5 48 512
48 9 5 49 512
49 10 5 50 512
50 1 6 51 512
51 2 6 52 512
52 3 6 53 512
53 4 6 54 512
54 5 6 55 512
55 6 6 56 512
56 7 6 57 512
57 8 6 58 512
58 9 6 59 512
59 10 6 60 512
60 1 7 61 512
61 2 7 62 512
62 3 7 63 512
63 4 7 64 512
64 5 7 65 512
65 6 7 66 512
66 7 7 67 512
67 8 7 68 512
68 9 7 69 512
69 10 7 70 512
70 1 8 71 512
71 2 8 72 512
What I wanna do is to read all the data above and buffer them in a queue for each user( there are only 10 users in total).
I already created a class called Class packet:
public class packet {
private int timestamp;
private int user_id;
private int packet_id;
private int packet_seqno;
private int packet_size;
/** Creates a new instance of packet */
public packet(int timestamp,int user_id, int packet_id,int packet_seqno, int packet_size)
this.timestamp = timestamp;
this.user_id=user_id;
this.packet_id=packet_id;
this.packet_seqno=packet_seqno;
this.packet_size=packet_size;
}then I wanna to create another Class called Class user which I can create a queue for each user (10 users in total) to store type packet information. the queue for each user will be in the order by timestamp.
any idea and sample code will be appreciated.Doesn't sound too hard to me. Your class User (the convention says to capitalize class names) will have an ArrayList or Vector in it to represent the queue, and a method to store a Packet object into the List. An array or ArrayList or Vector will hold the 10 user objects. You will find the right user object from packet.user_id and call the method.
Please try to write some code yourself. You won't learn anything from having someone else write it for you. Look at sample code using ArrayList and Vector, there's plenty out there. Post in the forum again if your code turns out not to behave. -
Hi ,
We have a catalog that defines 2 types of products (they have too many different properties), so wanted to keep them on two different MDEX engines and serve the applications requests. Here DB catalog and front end ATG application is same for both the MDEX instances.
Is it possible to have 2 different output config XML files and index the data into 2 endeca apps using the same indexing component ProductCatalogSimpleIndexingAdmin?
Thanks
DevHi, also have had some problem some monthes ago - I created separete component ProductCatalogSimpleIndexingAdminSecond. After that one of my colleage gave me some advice:
The creating separate component like ProductCatalogSimpleIndexingAdmin for the second IOC is possible way for resolving your situation. But I afraid that this way will be required creating mane duplicates for already existed components.
In my opinion the better way is the following:
starting from AssemblerApplicationConfiguration and ApplicationConfiguration component. It contains details for connecting between ATG and Endeca. Of course you should configure different components for different Endeca Apps.
After that:
Find all components that uses AssemblerApplicationConfiguration and ApplicationConfiguration. Customize these components for using one or another *Configuration component depending on what index works. (many variants released it: the most simple global custom component with flag.)
Then customize the existed ProductCatalogSimpleIndexingAdmin. Using one or another IOC and setting the flag in global custom component when index started. You can add some methods into your custom ProductCatalogSimpleIndexingAdmin like:
Execute baseline index for both IOC (one by one)
Execute baseline for IOC 1
Execute baseline for IOC 2.
Note: you should be afraid about incremental (partial) index in this configuration. But resolving conflicts in incremental index should be done after full implementation these changes.
Regards -
(Urgent help needed) how to read txt file and store the data into 2D-array?
Hi, I have a GUI which allow to choose file from the file chooser, and when "Read file" button is pressed, I want to show the array data into the textarea.
The sample data is like this followed:
-0.0007 -0.0061 0.0006
-0.0002 0.0203 0.0066
0 0.2317 0.008
0.0017 0.5957 0.0008
0.0024 1.071 0.0029
0.0439 1.4873 -0.0003
I want my program to scan through and store these data into 2D array.
However for some reason, my source code issues errors, and I don't know what's wrong with it, seems to have a problem in StringTokenizer though. Can anybody help me?
Thanks in advance.
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.StringTokenizer;
public class FileReduction1 extends JFrame implements ActionListener{
// GUI features
private BufferedReader fileInput;
private JTextArea textArea;
private JButton openButton, readButton,processButton,saveButton;
private JTextField textfield;
private JPanel pnlfile;
private JPanel buttonpnl;
private JPanel buttonbar;
// Other fields
private File fileName;
private String[][] data;
private int numLines;
public FileReduction1(String s) {
super(s);
// Content pane
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
// Open button Panel
pnlfile=new JPanel(new BorderLayout());
textfield=new JTextField();
openButton = new JButton("Open File");
openButton.addActionListener(this);
pnlfile.add(openButton,BorderLayout.WEST);
pnlfile.add(textfield,BorderLayout.CENTER);
readButton = new JButton("Read File");
readButton.addActionListener(this);
readButton.setEnabled(false);
pnlfile.add(readButton,BorderLayout.EAST);
cp.add(pnlfile, BorderLayout.NORTH);
// Text area
textArea = new JTextArea(10, 100);
cp.add(new JScrollPane(textArea),BorderLayout.CENTER);
processButton = new JButton("Process");
//processButton.addActionListener(this);
saveButton=new JButton("Save into");
//saveButton.addActionListener(this);
buttonbar=new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonpnl=new JPanel(new GridLayout(1,0));
buttonpnl.add(processButton);
buttonpnl.add(saveButton);
buttonbar.add(buttonpnl);
cp.add(buttonbar,BorderLayout.SOUTH);
/* ACTION PERFORMED */
public void actionPerformed(ActionEvent event) {
if (event.getActionCommand().equals("Open File")) getFileName();
if (event.getActionCommand().equals("Read File")) readFile();
/* OPEN THE FILE */
private void getFileName() {
// Display file dialog so user can select file to open
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = fileChooser.showOpenDialog(this);
// If cancel button selected return
if (result == JFileChooser.CANCEL_OPTION) return;
if (result == JFileChooser.APPROVE_OPTION)
fileName = fileChooser.getSelectedFile();
textfield.setText(fileName.getName());
if (checkFileName()) {
openButton.setEnabled(false);
readButton.setEnabled(true);
// Obtain selected file
/* READ FILE */
private void readFile() {
// Disable read button
readButton.setEnabled(false);
// Dimension data structure
getNumberOfLines();
data = new String[numLines][];
// Read file
readTheFile();
// Output to text area
textArea.setText(data[0][0] + "\n");
for(int index=0;index < data.length;index++)
for(int j=1;j<data[index].length;j++)
textArea.append(data[index][j] + "\n");
// Rnable open button
openButton.setEnabled(true);
/* GET NUMBER OF LINES */
/* Get number of lines in file and prepare data structure. */
private void getNumberOfLines() {
int counter = 0;
// Open the file
openFile();
// Loop through file incrementing counter
try {
String line = fileInput.readLine();
while (line != null) {
counter++;
System.out.println("(" + counter + ") " + line);
line = fileInput.readLine();
numLines = counter;
closeFile();
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error reading File",
"Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile();
System.exit(1);
/* READ FILE */
private void readTheFile() {
// Open the file
int row=0;
int col=0;
openFile();
System.out.println("Read the file");
// Loop through file incrementing counter
try {
String line = fileInput.readLine();
while (line != null)
StringTokenizer st=new StringTokenizer(line);
while(st.hasMoreTokens())
data[row][col]=st.nextToken();
System.out.println(data[row][col]);
col++;
row++;
closeFile();
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error reading File",
"Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile();
System.exit(1);
/* CHECK FILE NAME */
/* Return flase if selected file is a directory, access is denied or is
not a file name. */
private boolean checkFileName() {
if (fileName.exists()) {
if (fileName.canRead()) {
if (fileName.isFile()) return(true);
else JOptionPane.showMessageDialog(null,
"ERROR 3: File is a directory");
else JOptionPane.showMessageDialog(null,
"ERROR 2: Access denied");
else JOptionPane.showMessageDialog(null,
"ERROR 1: No such file!");
// Return
return(false);
/* FILE HANDLING UTILITIES */
/* OPEN FILE */
private void openFile() {
try {
// Open file
FileReader file = new FileReader(fileName);
fileInput = new BufferedReader(file);
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
System.out.println("File opened");
/* CLOSE FILE */
private void closeFile() {
if (fileInput != null) {
try {
fileInput.close();
catch (IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
System.out.println("File closed");
/* MAIN METHOD */
/* MAIN METHOD */
public static void main(String[] args) throws IOException {
// Create instance of class FileChooser
FileReduction1 newFile = new FileReduction1("File Reduction Program");
// Make window vissible
newFile.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
newFile.setSize(500,400);
newFile.setVisible(true);
Java.lang.NullpointException
at FileReductoin1.readTheFile <FileReduction1.java :172>
at FileReductoin1.readFile <FileReduction1.java :110>
at FileReductoin1.actionPerformed <FileReduction1.java :71>
.1) Next time use the CODE tags. this is way too much unreadable crap.
2) The problem is your String[][] data.... the only place I see you do anything approching initializing it is
data = new String[numLines][];I think you want to do this..
data = new String[numLines][3];anyway that's why it's blowing up on the line
data[row][col]=st.nextToken(); -
Reading from XML file and updating the table ????
Hi
I have package which reads the hier.XML file and does Update inserts into the 5 tables
i have table called MAIN_tbl with the column cur_date.
The package kicks if this cur_date is one day less than the hier.XML file DT.
Currently i m manually checking this date's to make sure the Main_tbl cur_date is n sync with
hier.XML file DT.
for example :- hier.xml file DT is "20091020" then main_table cur_date should be 10/19/2009
in order to kicks of the pakage.
what i m looking to do ??
compare the hier.xml DT with the main_table cur_date,
if cur_date is -1(Preivous day) of hier.xml DT then run hier_pkg(Package)
if not then update main_table cur_date to -1(previous day) of the hier.xml DATE
Then later write the above logic to update the main_table in a procedure, and
then call the package from the procedure.
below are the top few lines of the hier.XML file which is relevant to the one which we are trying to do
<?xml version = '1.0'?>
<HIER_POSTING num ="111" HIER_TYP="CD" DT="20091020" Global="Y">
FYI : The hier.XML file is located in UNIX space.
How do i accomplish this. any idea ????
Thank you so much in advance. For giving a thought on this problem!!!Any thought on this guys ???
Thanks!! -
Reading an XML file and write the contents to another xml file in java
Hi,
I am new to xml parsing.My requirement is that I am getting a message (xml) using ibm MQ in the ByteArrayInputStream format.I have to read this xml message and write to another file.
I am creating a POC for this.
First I used simple reading and writing concept but the output is "java.io.FileInputStream@3e25a5 "
Sample xml file
- <Client>
<ClientId>1234</ClientId>
<ClientName>STechnology</ClientName>
<DTU_ID>567</DTU_ID>
<ClientStatus>ACTIVE</ClientStatus>
- <LEAccount>
<ClientLE>678989</ClientLE>
<LEId>56743</LEId>
- <Account>
<AccountNumber>9876543678</AccountNumber>
</Account>
</LEAccount>
- <Service>
<Cindicator>Y2Y</Cindicator>
<PrefCode>980</PrefCode>
<BSCode>876</BSCode>
<MandatoryContent>MSP</MandatoryContent>
</Service>
</Client>
code:
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class ByteArrayInputStreamToXml {
public static void main(String srg[]) throws IOException{
InputStream inputStream= new FileInputStream("C:\\soft\\test2\\sample1.xml");
byte currentXMLBytes[] = inputStream.toString().getBytes();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(currentXMLBytes);
OutputStream out = new FileOutputStream("C:\\soft\\test\\data.xml");
int read=0;
byte[] bytes = new byte[1024];
while((read = byteArrayInputStream.read(bytes))!= -1){
out.write(bytes, 0, read);
out.write( '\n' );
inputStream.close();
out.flush();
out.close();
System.out.println("New file created!");
Please suggest me how can I use DOM/SAX parser ,I can see several code on net for reading xml file using SAX/DOM parser but writing an xml file after reading it using ByteArrayInputStream I am not getting .A help through some example Link will also be helpful for me.
Thanks
Sumit
Edited by: user8687839 on Apr 30, 2012 2:37 AM
Edited by: user8687839 on Apr 30, 2012 2:43 AMThanks I got the result.
package com.sumit.collections;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class ByteArrayInputStreamToXml {
public static void main(String srg[]) throws IOException{
InputStream inputStream= new FileInputStream("C:\\soft\\test2\\sample1.xml");
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead; byte[] data = new byte[1024];
while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead); } buffer.flush();
byte currentXMLBytes[]= buffer.toByteArray();
/* byte currentXMLBytes[] = inputStream.toString().getBytes();*/
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(currentXMLBytes);
OutputStream out = new FileOutputStream("C:\\soft\\test\\data.xml");
int read=0;
byte[] bytes = new byte[1024];
while((read = byteArrayInputStream.read(bytes))!= -1){
out.write(bytes, 0, read);
out.write( '\n' );
inputStream.close();
out.flush();
out.close();
System.out.println("New file created!");
} -
Read in XML file and spit out specific element
Hi all i wonder if someone could give me a hand. I've got some code (below) which reads in an xml file and spits out the contents of the file. Thats fine and dandy, however what i want to be able to do is specify which element to spit out, which i'm not sure how to do. So say i had the following xml file:
<?xml version="1.0"?>
<OpenSourceQuestions>
<question>
<setup>A raster graphics editor</setup>
<answerChoice1>The Gimp</answerChoice1>
<answerChoice2>The Chimp</answerChoice2>
<answerChoice3>The Pimp</answerChoice3>
<answerChoice4>The Blimp</answerChoice4>
<correctAnswer>The Gimp</correctAnswer>
</question>
<question>
<setup>test question 2</setup>
<answerChoice1>question2 answer1</answerChoice1>
<answerChoice2>question2 answer2</answerChoice2>
<answerChoice3>question2 answer3</answerChoice3>
<answerChoice4>question2 answer4</answerChoice4>
<correctAnswer>question2 answer1</correctAnswer>
</question>
</OpenSourceQuestions>What i want to do is only spit out the xml for the first question, i.e. "A raster graphics editor" and its answers
Here is my java code for reading in and arsing the file:
void readXML(){
try {
File fXmlFile = new File("MyXMLFile.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("question");
System.out.println("-----------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Question : " + getTagValue("setup",eElement));
System.out.println("Answer1 : " + getTagValue("answerChoice1",eElement));
System.out.println("Answer2 : " + getTagValue("answerChoice2",eElement));
System.out.println("Answer3 : " + getTagValue("answerChoice3",eElement));
System.out.println("Answer4 : " + getTagValue("answerChoice4",eElement));
} catch (Exception e) {
e.printStackTrace();
private static String getTagValue(String sTag, Element eElement)
NodeList nlList= eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}IN the time since i posted i have solved my own query!
Maybe you are looking for
-
Greetings, I have SharePoint 2013 enterprise using ADFS for authentication. I have an issue where the first time going to a site where you do not have access and clicking the back button you're returned to the root site instead of the site you start
-
Adjustment Brush/Saturation
Normally I can reduce the color saturation to zero in parts of my photo by using the adjustment brush with the amount set to -100. Today this is not working...I'm not sure if I've changed some settings but if someone could please help me get it back
-
Flash 9.0r48 no audio with video
I have just downloaded and installed the latest Flash player on my system (Red Hat Fedora Core 3 Linux, AMD Athlon 64 (cpuid is x86_64)). This version has exactly the same problem that earlier versions had, namely that there is no audio (sound) with
-
Default programme for mail attachments
Since installing Snow Leopard, my Mail programme defaults to Numbers or Pages when opening attachments. How do I change the default back to Microsoft Word or Excel?
-
Brush Tool/Layer Mask not working. Please help!
When I use the brush tool on the layer mask after using the quick selection tool and refining the mask, the black doesn't do anything and the white erases the image.