XML beautify using perl XML::Writer

There are code that we generate somehow having the whole data
merged into just ONE long line.

And end-user complained can’t be processed.
Which is not so easy to read.

unless you did some magic before viewing as follows :

xmllint --format IDM26004.xml |more

which did reformatting it.. into a human readable tab/indent.

However, later I found out the fix for generating script is quite easy.
Just need to add the following item.

 
  my $writer = new XML::Writer (
    OUTPUT => \$xml, DATA_MODE => 1,DATA_INDENT => 2
  );

which is decribed here :

DATA_MODE
 
    A true or false value; if this parameter is present and its value is true, then the module will enter a special data mode, inserting newlines automatically around elements and (unless UNSAFE is also specified) reporting an error if any element has both characters and elements as content.
DATA_INDENT
 
    A numeric value or white space; if this parameter is present, it represents the indent step for elements in data mode (it will be ignored when not in data mode). If it is white space it will be repeated for each level of indentation.

so the full look like follows..

# =====================================================================
# gen_xml () 
# ---------------------------------------------------------------------
 
sub gen_xml {
 
  my ($next_time) = @_;
  my @nowtime = localtime (time());
 
  syslog ("info", "Generating Tide XML");
 
  my $xml;
 
  my $writer = new XML::Writer (
    OUTPUT => \$xml, DATA_MODE => 1,DATA_INDENT => 2
  );
  $writer->xmlDecl();
  $writer->startTag ("tides");
  $writer->emptyTag ("timezone",
    'name' => 'MST', value=>'8.0'
  );
 
..

so result would as :

[namran@nb-namran tmp]$ head IDM26004.xml 



  
  Saturday 22/01/11
  
    
      
      
      

References :

http://search.cpan.org/~josephw/XML-Writer-0.612/Writer.pm

Related Post

6 Responses

  1. Stotti says:

    Hi namran, you should not use MD5 hashing as “encryption” for passwords. Why? I wrote in my blog how easy it is to crack MD5 passwords using local software (see http://www.stottmeister.com/blog/2009/06/29/how-to-crack-md5-passwords-with-john-the-ripper-a-live-example-exploiting-typo3/ ) and using online services (see http://www.stottmeister.com/blog/2009/04/14/how-to-crack-md5-passwords/ ). These articles tell you how to crack MD5 hashes quite easily (for educational purposes only). So please don’t use MD5 as password “encryption”.

    Even SHA-1 is considered unsafe nowadays. Better use a new hashing mechanism such as SHA-256 or something similiar.

    Best regards
    Stotti

    Reply
    • namran says:

      Hi Stotti,

      Thanks for your comment.

      apparently to change that to use SHA-256 ..
      just need to change the line ..
      md5()
      to use sha256 by …
      sha256()

      and have to make sure the password field length in SQL table is long enough to store the hash..
      .. and you’ll be not able to add new user via phpMyAdmin interface as no built in sha256 interface there and have to calculate your password yourself..

      correct ?

      Reply
  2. Brian says:

    Be sure to salt your hashes if you do use the MD5 algorithm. Simple reverse lookup attacks could crack your hashes otherwise. There are sites such as http://ww.netmd5crack.com and http://gdataonline.com that specialize in this sort of attack.

    Brian

    Reply
  3. Alessandro says:

    Hash cracker is a web-service that allows you to encrypt your passwords
    or crack your hashed passwords with MD5, SHA1 or NTLM algorithms.
    You can also encode or decode texts with Base64 system.

    http://www.hash-cracker.com

    Video tutorial:

    http://www.youtube.com/watch?v=JVxdQPdGXec

    Reply
  4. sterewete says:

    Mueller Sports Medicine Turnover http://www.mishymashy.com/ – effexor sale The medication usually needs to be tapered slowly to avoid the withdrawal symptoms that can be very uncomfortable. cheapest effexor

    Reply
  5. Janett Dopazo says:

    Sweet blog! I found it while surfing around on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Many thanks

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *