code_junkie

How can I create XML from Perl?

Nov 11th, 2011
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. use XML::Writer;
  2.  
  3. my $writer = new XML::Writer(); # will write to stdout
  4. $writer->startTag("greeting",
  5. "class" => "simple");
  6. $writer->characters("Hello, world!");
  7. $writer->endTag("greeting");
  8. $writer->end();
  9. $output->close();
  10.  
  11. # produces <greeting class='simple'>Hello world!</greeting>
  12.  
  13. use XML::Smart;
  14.  
  15. ## Create a null XML object:
  16. my $XML = XML::Smart->new() ;
  17.  
  18. ## Add a server to the list:
  19. $XML->{server} = {
  20. os => 'Linux' ,
  21. type => 'mandrake' ,
  22. version => 8.9 ,
  23. address => '192.168.3.201' ,
  24. } ;
  25.  
  26. $XML->save('newfile.xml') ;
  27.  
  28. <server os="Linux" type="mandrake" version="8.9">
  29. <address>192.168.3.201</address>
  30. <address>192.168.3.202</address>
  31. </server>
  32.  
  33. #!/usr/bin/env perl
  34.  
  35. #
  36. # Create a simple XML document
  37. #
  38.  
  39. use strict;
  40. use warnings;
  41. use XML::LibXML;
  42.  
  43. my $doc = XML::LibXML::Document->new('1.0', 'utf-8');
  44.  
  45. my $root = $doc->createElement("my-root-element");
  46. $root->setAttribute('some-attr'=> 'some-value');
  47.  
  48. my %tags = (
  49. color => 'blue',
  50. metal => 'steel',
  51. );
  52.  
  53. for my $name (keys %tags) {
  54. my $tag = $doc->createElement($name);
  55. my $value = $tags{$name};
  56. $tag->appendTextNode($value);
  57. $root->appendChild($tag);
  58. }
  59.  
  60. $doc->setDocumentElement($root);
  61. print $doc->toString();
  62.  
  63. #!/usr/bin/env perl
  64.  
  65. #
  66. # Create a simple XML document
  67. #
  68.  
  69. use strict;
  70. use warnings;
  71. use XML::LibXML;
  72.  
  73. my $doc = XML::LibXML::Document->new('1.0', 'utf-8');
  74.  
  75. my $root = $doc->createElement("my-root-element");
  76. $root->setAttribute('some-attr'=> 'some-value');
  77.  
  78. my %tags = (
  79. color => 'blue',
  80. metal => 'steel',
  81. );
  82.  
  83. for my $name (keys %tags) {
  84. my $tag = $doc->createElement($name);
  85. my $value = $tags{$name};
  86. $tag->appendTextNode($value);
  87. $root->appendChild($tag);
  88. }
  89.  
  90. $doc->setDocumentElement($root);
  91. print $doc->toString();
  92.  
  93. <?xml version="1.0" encoding="utf-8"?>
  94. <my-root-element some-attr="some-value">
  95. <color>blue</color>
  96. <metal>steel</metal>
  97. </my-root-element>
Add Comment
Please, Sign In to add comment