如何从变量解析XML?

时间:2016-07-19 10:15:28

标签: perl xml-parsing

如何使用Perl在变量中进行XML解析?

我从我的URL编码数据库中获取URL,然后获取XML文档。

我需要解析这个XML。

我希望我很清楚

<?xml version="1.0" encoding="UTF-8"?>
<tag>
   <field type="tag">
      <content>
         <it>Ristoranti e Pizzerie</it>
         <de>Restaurants und Pizzeria</de>
         <en>Restaurants and pizzerias</en>
      </content>
      <valore>TAG14</valore>
   </field>
   <field type="tag">
      <content>
         <it>Bar, Pub ed Enoteche</it>
         <de>Bar, Pub und Enotheken</de>
         <en>Bars, pubs and wine store</en>
      </content>
      <valore>TAG15</valore>
   </field>
</tag>

1 个答案:

答案 0 :(得分:0)

很难知道问题是什么

两个最受欢迎的高质量XML模块是XML::TwigXML::LibXML。下面的程序使用这两个来解析你问题中的相同XML数据

请注意,您只使用一个模块或另一个模块;这两个都不是

use strict;
use warnings 'all';

use XML::Twig;
## OR
use XML::LibXML;

my $tag = <<END_XML;
<?xml version="1.0" encoding="UTF-8"?>
<tag>
   <field type="tag">
      <content>
         <it>Ristoranti e Pizzerie</it>
         <de>Restaurants und Pizzeria</de>
         <en>Restaurants and pizzerias</en>
      </content>
      <valore>TAG14</valore>
   </field>
   <field type="tag">
      <content>
         <it>Bar, Pub ed Enoteche</it>
         <de>Bar, Pub und Enotheken</de>
         <en>Bars, pubs and wine store</en>
      </content>
      <valore>TAG15</valore>
   </field>
</tag>
END_XML

my $twig = XML::Twig->new;
$twig->parse($tag);

## OR

my $doc = XML::LibXML->load_xml(string => $tag);