<?xml version="1.0" encoding="windows-1252"?>
<node id="938513" title="Re: Converting a Text file to XML" created="2011-11-16 22:29:23" updated="2011-11-16 22:29:23">
<type id="11">
note</type>
<author id="461912">
GrandFather</author>
<data>
<field name="doctext">
&lt;p&gt;It may be that [mod://XML::Writer] is helpful. Consider:&lt;/p&gt;
&lt;c&gt;
#!/usr/lib/perl
use strict;
use warnings;
use XML::Writer;

my $out;
my $xml = XML::Writer-&gt;new(OUTPUT =&gt; \$out, DATA_MODE =&gt; 1, DATA_INDENT =&gt; '   ');

$xml-&gt;xmlDecl();
$xml-&gt;startTag('doc');

while (&lt;DATA&gt;) {
    chomp;
    next if !length;

    my ($bibData, $quote, $primary, $sec) = /
        ^([^"]* "[^"]+"[^"]*)
        ([^\@]+)
        \@([^%]+)
        \%(.*)
        /x;

    $xml-&gt;startTag('entry');
    $xml-&gt;dataElement(bib     =&gt; $bibData);
    $xml-&gt;dataElement(quote   =&gt; $quote);
    $xml-&gt;dataElement(primary =&gt; $primary);
    $xml-&gt;dataElement(sec     =&gt; $sec);
    $xml-&gt;endTag();
}

$xml-&gt;endTag();
$xml-&gt;end();

print $out;

__DATA__
Leyson, Captain Burr.  "With or Without Gadgets."  Boys' Life.  Nov 1949.  p. 6.  "An old-timer knew what he had to do in a jam.  He didn't need hundreds of those gadgets to guide him to safety."  @gauge %trivial

"The Battle Against Baldness."  Kiplinger's Personal Finance.  Feb 1949.  "A little home hair-cutter gadget--a comb with a razor attached-- has zipped its way into fame in recent months.  Barbers pooh-pooh it as a threat, but sales are going strong."  @tool %american
&lt;/c&gt;
&lt;p&gt;Prints:&lt;/p&gt;
&lt;c&gt;
&lt;?xml version="1.0"?&gt;

&lt;doc&gt;
   &lt;entry&gt;
      &lt;bib&gt;Leyson, Captain Burr.  "With or Without Gadgets."  Boys' Life.  Nov 1949.  p. 6.  &lt;/bib&gt;
      &lt;quote&gt;"An old-timer knew what he had to do in a jam.  He didn't need hundreds of those gadgets to guide him to safety."  &lt;/quote&gt;
      &lt;primary&gt;gauge &lt;/primary&gt;
      &lt;sec&gt;trivial&lt;/sec&gt;
   &lt;/entry&gt;
   &lt;entry&gt;
      &lt;bib&gt;"The Battle Against Baldness."  Kiplinger's Personal Finance.  Feb 1949.  &lt;/bib&gt;
      &lt;quote&gt;"A little home hair-cutter gadget--a comb with a razor attached-- has zipped its way into fame in recent months.  Barbers pooh-pooh it as a threat, but sales are going strong."  &lt;/quote&gt;
      &lt;primary&gt;tool &lt;/primary&gt;
      &lt;sec&gt;american&lt;/sec&gt;
   &lt;/entry&gt;
&lt;/doc&gt;
&lt;/c&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-461912"&gt;
True laziness is hard work
&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
938507</field>
<field name="parent_node">
938507</field>
</data>
</node>
