05-25-2009
CSV processing to XML
Hi,
i am really fresh with shell scripting and programming,
i have an issue i am not able to solve to populate data on my server for Cisco IP phones.
I have CSV file within the following format:
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;
;;CUSTOME NAME :;;CompanyX;;;;;;;;;PACKAGES;;;;;English
;;;;;;;;;;;;;standard;;;;;English
;;;;;;;;; ;;;;secretary;;;;;German
;;;;;;;;;;;;;;;;;;
;No;NAME;FAMILYNAME;TELEPHONE NUMBER;EXTENSION;E-MAIL;PREFERRED LANGUAGE;CUSTOMER PACKAGE;COUNTRY CODE;SIP PASSWORD;TIMEZONE
;1;test;customer;01235870;200;test@customer.org;English;secretary;English;1234;1234;ECT;;;;;;
;2;test;tester;01235871;201;test@customer.org;English;secretary;English;1234;1234;ECT;;;;;;
;3;user;customer;01235872;202;test@customer.org;English;secretary;English;1234;1234;ECT;;;;;;
;4;john;wayne;01235873;203;test@customer.org;English;secretary;English;1234;1234;ECT;;;;;;
;5;;;;;;;;;;;;;;;;;
;6;;;;;;;;;;;;;;;;;
and i would like to take a data from this CVS and file out XML format that Cisco IP phones can understand.
I care for CUSTOMER NAME, NAME, FAMILYNAME and TELEPHONE NUMBER other fields can be ignored.
<CiscoIPPhoneDirectory>
<Title>Directory title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<DirectoryEntry>
<Name>The name of the directory entry</Name>
<Telephone>The telephone number for the entry</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>
Example:
<CiscoIPPhoneDirectory>
<Title>CompanyX</Title>
<Prompt>People reachable via VoIP</Prompt>
<DirectoryEntry>
<Name>Test Customerr</Name>
<Telephone>012345870</Telephone>
</DirectoryEntry>
<CiscoIPPhoneDirectory>
Thank you all in advance
9 More Discussions You Might Find Interesting
1. Programming
Hi
I'm reading a comma separated file record by record. After reading a record, I'm tokenizing it using strtok() function and moving the tokens into a structure.
But suppose if a record is of the following format,i.e two commas appear one after another, then the strtok function skips the... (1 Reply)
Discussion started by: janemary.a
1 Replies
2. Shell Programming and Scripting
Hi All,
I am new to Shell scripting.
I have a log file containing XML Messages.Each XML Message is accompanied with a timestamp.I need to count the the number of messages that get logged in a particular timeinterval.Is there any command/Syntax to achieve this.
Any code/example is... (5 Replies)
Discussion started by: vignesh53
5 Replies
3. Shell Programming and Scripting
I am trying to divide a xml file(my.xml) like this:
<?xml version="1.0" encoding="UTF-8"?>
<Proto PName="hmmmmmmm">
<Menu id="A" ver="1">
<P>
<P name="AA" Type="X"/>
<P name="BB" Type="Y"/>
<P name="CC" Type="Z"/>
</P>
... (4 Replies)
Discussion started by: demoprog
4 Replies
4. Shell Programming and Scripting
I am new to perl, and need a script to pull a CSV file, strip out 2 leading columns, and 2 ending columns, and resave the file in a new location. The file is basic and has less than 10,000 records. Secondly, can I schedule perl scripts to run daily? Can someone provide the basic script to... (1 Reply)
Discussion started by: cobbjob
1 Replies
5. Programming
Hi everyone,
I have Xml files in a folder, I need to extract some attribute values form xml files and store in a hash. My xml file look like this.
<?xml version="1.0" encoding="UTF-8"?>
<Servicelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"... (0 Replies)
Discussion started by: pavani reddy
0 Replies
6. Shell Programming and Scripting
I need to get all session_ID 's for product="D-0002" from a XML file:
Sample input:
<session session_ID="6411206" create_date="2012-04-10-10.22.13.000000">
<marketing_info>
<program_id>D4AWFU</program_id>
<subchannel_id>abc</subchannel_id>
</marketing_info>
... (1 Reply)
Discussion started by: karumudi7
1 Replies
7. Shell Programming and Scripting
With the following input sample extracted from a xml file
<rel ver="123">
<mod name="on">
<node env="ac" env="1">
<ins ip="10.192.0.1"/>
<ins ip="10.192.0.2"/>
... (1 Reply)
Discussion started by: cabrao
1 Replies
8. Shell Programming and Scripting
Hi experts,
I want to convert a txt file having rows and columns (CNAI_DUMP_raw.txt) by comparing it with another text file (paramaters.txt) and generate a output in CSV which contains only 3rd column from CNAI_DUMP_raw.txt, and the columns mentioned in parameters.txt.
FYI: There are two... (16 Replies)
Discussion started by: Gautam Banerjee
16 Replies
9. UNIX for Beginners Questions & Answers
I've been kicking this around for a while now, I might as well post it here.
v0.0.9, now properly supporting self-closing tags.
v0.0.8, an important quoting fix and a minor change which should handle special <? <!-- etc. tags without seizing up as often. Otherwise the code hasn't changed much.... (6 Replies)
Discussion started by: Corona688
6 Replies
LEARN ABOUT DEBIAN
text::csv::encoded::coder::base
Text::CSV::Encoded::Coder::Base(3pm) User Contributed Perl Documentation Text::CSV::Encoded::Coder::Base(3pm)
NAME
Text::CSV::Encoded::Coder::Base - Interface for Text::CSV::Encoded coder base class
SYNOPSIS
package Text::CSV::Encoded::Coder::YourCoder;
use base qw( Text::CSV::Encoded::Coder::Base );
sub decode {
...
}
sub encode {
...
}
sub upgrade {
...
}
sub decode_fields_ref {
...
}
sub encode_fields_ref {
...
}
DESCRIPTION
This module is used by Text::CSV::Encoded internally.
INTERFACS
decode
( $self, $encoding, $str ) = @_;
....
return $decoded_str;
Takes an encoding and a CSV string. It must return a Perl string decoded in $encoding. In Perl 5.8 or later, if $enc is "undef" or false,
the encoding should be utf8.
encode
( $self, $encoding, $str ) = @_;
....
return $encoded_str;
Takes an encoding and a Perl string. It must return a CSV string encoded in $encoding. In Perl 5.8 or later, if $enc is "undef" or false,
the encoding should be utf8.
decode_fields_ref
( $self, $encoding, $arrayref ) = @_;
Takes an encoding and an array reference. It must decoded each array entries in $encoding.
encode_fields_ref
( $self, $encoding, $arrayref ) = @_;
Takes an encoding and an array reference. It must encoded each array entries in $encoding.
upgrade
( $self, $str ) = @_;
In Perl 5.8 or later, it is expected to do "utf8::upgrade" against $str. In older versions, this method may be meaningless and there is no
need to implement. See to utf8.
encode_check_value
Setter/Getter for an argument passing to encode.
$coder->encode_check_value( Encode::FB_PERLQQ );
decode_check_value
Setter/Getter for an argument passing to decode.
$coder->encode_check_value( Encode::FB_PERLQQ );
EXAMPLE
Use with Jcode.
package Text::CSV::Encoded::Coder::Jcode;
use strict;
use base qw( Text::CSV::Encoded::Coder::Base );
use Jcode ();
my $Jcode = Jcode->new;
my %alias = (
'shiftjis' => 'sjis',
'euc-jp' => 'euc',
'sjis' => 'sjis',
'euc' => 'euc',
);
sub decode {
my ( $self, $encoding, $str ) = @_;
my $enc = $alias{ $encoding };
$Jcode->set( $str, $enc )->euc;
}
sub encode {
my ( $self, $encoding, $str ) = @_;
my $enc = $alias{ $encoding };
$Jcode->set( $str, 'euc' )->$enc();
}
sub decode_fields_ref {
my ( $self, $encoding, $arrayref ) = @_;
my $enc = $alias{ $encoding };
for ( @$arrayref ) {
$_ = $Jcode->set( $_, $enc )->euc;
}
}
sub encode_fields_ref {
my ( $self, $encoding, $arrayref ) = @_;
my $enc = $alias{ $encoding };
for ( @$arrayref ) {
$_ = $Jcode->set( $_, 'euc' )->$enc();
}
}
AUTHOR
Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
COPYRIGHT AND LICENSE
Copyright 2008-2010 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2010-04-26 Text::CSV::Encoded::Coder::Base(3pm)