Ok - Just to clarify what i am trying to do. I am trying to get the creation of the file to be as efficient as possible. Or there may be another way of achieving my objective without creating a file. Explained below....
The first part of the file variable written to the file should read:
The $firstline, $secondline variable are actually XML tags with information in.
The $thirdline contains an Insert statement to a database
<Insertquery>Insert into newtable<Insertquery>
The $forthline contains the values to enter into the table
<values>'one', '2012-03-23 $INCREMENT', 'message'<values>
I am trying to update a database table which can only be updated through the use of an xml file with all the various tags in and the correct format.
The newfile.xml is the file that is used as the template which updates the database. However, the second value to be entered in the database need to be a unique value. This is why i have added the $INCREMENT in the values.
A java call is made and it used the XML file to insert into a database the values. I need to insert 1000 records however, i think the creation of the file is making it slow at the moment as it is taking 1 second per transaction.
Hello,
I have a Supermicro server with a P4SCI mother board running Debian Sarge 3.1. This is the "dmidecode" output related to RAM info:
RAM speed information is incomplete.. "Current Speed: Unknown", is there anyway/soft to get the speed of installed RAM modules? thanks!!
Regards :)... (0 Replies)
hi i have a script that is taking the difference of multiple columns in a file from a value from a single row..so far i have a loop to do that.. all the data is floating point..fin has the difference between array1 and array2..array1 has 700 x 300= 210000 values and array2 has 700 values..
... (11 Replies)
Hey together,
You should know, that I'am relatively new to shell scripting, so my solution is probably a little awkward.
Here is the script:
#!/bin/bash
live_dir=/var/lib/pokerhands/live
for limit in `find $live_dir/ -type d | sed -e s#$live_dir/##`; do
cat $live_dir/$limit/*... (19 Replies)
I have a script that processes a fair amount of data -- say, 25-50 megs per run. I'd like ideas on speeding it up. The code is actually just a preprocessor -- I'm using another language to do the heavy lifting. But as it happens, the preprocessing takes much more time than the final processing... (3 Replies)
I analysed disk performance with blktrace and get some data:
read:
8,3 4 2141 2.882115217 3342 Q R 195732187 + 32
8,3 4 2142 2.882116411 3342 G R 195732187 + 32
8,3 4 2144 2.882117647 3342 I R 195732187 + 32
8,3 4 2145 ... (1 Reply)
Hi Guys,
I have a script that I am using to convert some text files to xls files. I create multiple temp. files in the process of conversion. Other than reducing the temp. files, are there any general tricks to help speed up the script?
I am running it in the bash shell.
Thanks. (6 Replies)
I had written a perl script to compare two files: new and master and get the output of the first file i.e. the first file: words that are not in the master file
STRUCTURE OF THE TWO FILES
The first file is a series of names
ramesh
sushil
jonga
sudesh
lugdi
whereas the second file (could be... (4 Replies)
hey guys i have a perl script wich use to compare hashes but it tookes a long time to do that so i wich i will have the soulition to do it soo fast
he is the code
<redacted> (1 Reply)
Hi
I have written a shell script which will test 300 to 500 IPs to find which are pinging and which are not pinging.
the script which give output as
10.x.x.x is pining
10.x.x.x. is not pining
-
-
-
10.x.x.x is pining
like above.
But, this script is taking... (6 Replies)
Hello,
I am basic level shell script developer. I have developed the following script. The shell script basically tracking various files containing certain strings. I am finding options to make the script run more faster. Any help/suggestion would be appreciated :)
#! /bin/bash
# Greps for... (6 Replies)
Discussion started by: Bhanuprasad
6 Replies
LEARN ABOUT DEBIAN
xml::smart::tutorial
XML::Smart::Tutorial(3pm) User Contributed Perl Documentation XML::Smart::Tutorial(3pm)NAME
XML::Smart::Tutorial - Tutorial and examples for XML::Smart.
SYNOPSIS
This document is a tutorial for XML::Smart and shows some examples of usual things.
Working with contents:
In XML::Smart the key CONTENT is reserved and shouldn't be used directly, since XML::Smart will deal with the convertion of arguments to
node contents, including multiple node contents autimatically.
What happens when you set a value:
$xml->{root}{foo} = 'simple value' ;
Here foo will be a normal argument/attribute value, and will generate this XML data:
<root foo="simple value"/>
But if you insert some tag or lines in the values by default XML::Smart will convert it to a node content:
$xml->{root}{foo} = "line0
lien1
line2
" ;
And will generate that XML data:
<root>
<foo>line0
lien1
line2
</foo>
</root>
But what you can do if you want to force some type, let's say, have a node content with a simple value:
$xml->{root}{foo} = 'simple value' ;
$xml->{root}{foo}->set_node(1) ;
And will generate that XML data:
<root>
<foo>simple value</foo>
</root>
Multiple contents:
When you have interpolated content/data you need to work in a different. Let's say that you load this XML data:
<root>
content0
<tag1 arg="1"/>
content1
</root>
If you access directly the root key as string you will get all the content parts grouped. So, this code:
my $xml = new XML::Smart(q`
<root>
content0
<tag1 arg="1"/>
content1
</root>
`,'smart') ;
print "#$xml->{root}#" ;
Will print that:
#
content0
content1
#
To access each part of the content independently you should use an array that receive the method content():
my @content = $xml->{root}->content ;
print "#$content[0]#
" ;
And this will print that:
#
content0
#
Now to set the multiple content values you should use the method content() with 2 arguments:
$xml->{root}->content(0,'new content') ;
And now the XML data produced will be:
<root>new content<tag1 arg="1"/>
content1
</root>
If you use the method content() with only one argument it will remove all the multiple contents and will set the new value in the place of
the 1st content.
Setting the XML Parser.
By defaul XML::Smart will use XML::Parser or XML::Smart::Parser (in this order of preference) to load a XML data.
To force or define by your self the parser you can use the 2nd argument option when creating a XML::Smart object:
my $xml = new XML::Smart( 'some.xml' , 'XML::Parser' ) ;
## and
my $xml = new XML::Smart( 'some.xml' , 'XML::Smart::Parser' ) ;
XML::Smart also has an extra parser, XML::Smart::HTMLParser, that can be used to load HTML as XML, or to load wild XML data:
my $xml = new XML::Smart( 'some.xml' , 'XML::Smart::HTMLParser' ) ;
Aliases for the parser options:
SMART|REGEXP => XML::Smart::Parser
HTML => XML::Smart::HTMLParser
So, you can use as:
my $xml = new XML::Smart( 'some.xml' , 'smart' ) ;
my $xml = new XML::Smart( 'some.xml' , 'html' ) ;
Customizing the Parser.
You can customize the way that the parser will treat the XML data:
Forcing nodes/tags and arguments/attributes to lowercase or upercase:
## For lower case:
my $xml = new XML::Smart( 'some.xml' ,
lowtag => 1 ,
lowarg => 1 ,
) ;
## For uper case:
my $xml = new XML::Smart( 'some.xml' ,
upertag => 1 ,
uperarg => 1 ,
) ;
Loading arguments without values (flags) as a TRUE boolean:
** Note, this option will work only when the XML is parsed by XML::Smart::HTMLParser, since only it accept arguments without values!
my $xml = new XML::Smart(
'<root><foo arg1="" flag></root>' ,
'XML::Smart::HTMLParser' ,
arg_single => 1 ,
) ;
Here's the tree of the example above:
'root' => {
'foo' => {
'flag' => 1,
'arg1' => ''
},
},
Customizing the parse events:
XML::Smart can redirect the parsing process to personalized functions:
my $xml = XML::Smart->new( 'some.xml' ,
on_start => &on_start ,
on_char => &on_char ,
on_end => &on_end ,
) ;
sub on_start {
my ( $tag , $pointer , $pointer_back ) = @_ ;
$pointer->{$tag}{type_user} = 1 if $tag =~ /(?:name|age)/ ;
}
sub on_char {
my ( $tag , $pointer , $pointer_back , $content) = @_ ;
$$content =~ s/s+/ /gs ;
}
sub on_end {
my ( $tag , $pointer , $pointer_back ) = @_ ;
$pointer->{$tag}{type_extra} = 1 if $tag =~ /(?:more|tel|address)/ ;
}
AUTHOR
Graciliano M. P. <gm@virtuasites.com.br>
I will appreciate any type of feedback (include your opinions and/or suggestions). ;-P
Enjoy and thanks for who are enjoying this tool and have sent e-mails! ;-P
ePod
This document was written in ePod (easy-POD), than converted to POD, and from here you know the way.
perl v5.10.1 2004-12-08 XML::Smart::Tutorial(3pm)