原始的方法
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row col1="AnySQL" col2="4"></row>
<row col1="DBATools" col2="1"></row>
</rows>
test.pl
use XML::Simple;
my $xml = new XML::Simple;
my $data = $xml->XMLin("c:/test.xml");
if ($data->{'row'}) {
# Convert to hash, if it's array
if (ref $data->{'row'} eq "HASH") {
@$temp = ($data->{'row'});
$data->{'row'} = $temp; }
if ($data->{'row'}->[0]) {
my $count = 0;
while($data->{'row'}->[$count]) {
if (ref $data->{'row'}->[$count] eq "HASH") {
print $data->{'row'}->[$count]->{'col1'}, ",";
print $data->{'row'}->[$count]->{'col2'}, "\n"; }
$count ++; }
} }
使用XML::SimpleObject
xml
<?xml version="1.0"?>
<files>
<file type="symlink">
<name>/etc/dosemu.conf</name>
<dest>dosemu.conf-drdos703.eval</dest>
</file>
<file>
<name>/etc/passwd</name>
<bytes>948</bytes>
</file>
</files>
use XML::Parser;
use XML::SimpleObject;
my $file = 'c:/file.xml';
my $parser = XML::Parser->new(ErrorContext => 2, Style => "Tree");
my $xmlobj = XML::SimpleObject->new( $parser->parsefile($file) );
print "Files: \n";
foreach my $element ($xmlobj->child("files")->children("file"))
{
print " filename: " . $element->child("name")->value . "\n";
if ($element->attribute("type"))
{
print " type: " . $element->attribute("type") . "\n";
}else{
print " bytes: " . $element->child("bytes")->value . "\n";
}
}
生成xml
use XML::Writer;
use IO::File;
my $output = new IO::File(">output.xml");
my $writer = new XML::Writer(OUTPUT => $output);
#my $writer = XML::Writer->new();
$writer->startTag("greeting",
"class" => "simple");
$writer->characters("Hello, world!");
$writer->endTag("greeting");
$writer->end();
$output->close();
分享到:
相关推荐
1. **解析XML文档**:XML-Simple能够将XML字符串或文件解析成Perl的数据结构。例如,一个XML文档可以被解析成一个哈希,其中XML元素成为哈希键,元素内容成为对应的值。 2. **生成XML文档**:同样,Perl的数据结构...
这篇博客文章“perl读写xml文件”很可能是关于如何在Perl中操作XML文件,包括解析XML内容、提取数据、修改数据以及生成新的XML文件。 Perl提供了多个模块来处理XML,最常用的是XML::Simple和XML::LibXML。XML::...
XML-Simple是Perl编程语言中一个非常流行的模块,主要用于解析和生成XML文档。这个压缩包“XML-Simple-2.20”包含了该模块的2.20版本,这是一个用于简化处理XML数据的库。Perl开发者经常使用XML-Simple来处理XML数据...
Perl 读取 EXCEL 文件...本文介绍了使用 Perl 读取 EXCEL 文件并输出到 XML 文件的方法,包括 Perl 语言基础、EXCEL 文件读取、XML 文件生成和示例代码。该方法可以实现数据的跨平台共享和交换,具有广泛的应用前景。
XML-SAX库允许Perl开发者以面向对象的方式与SAX解析器交互,从而能够高效地解析和处理XML数据。 XML-SAX库主要包含以下组件: 1. **解析器**:这是核心部分,负责读取XML文档并触发一系列事件。当解析器遇到XML...
Cmd-Alt-P)调整语法生成解析器/ ElementTypes / PSI类(Ctrl-Shift-G / Cmd-Shift-G) 生成lexer * .flex文件,然后运行JFlex generator(均通过上下文菜单) 实现ParserDefinition并将相应的注册添加到plugin.xml ...
4. **标签解析与生成**:通过对HTML源码进行解析,可以提取出其中的标签信息,然后根据需要生成新的HTML代码。 在实际项目中,`perl-HTML-Tagset`常用于以下场景: - **网页爬虫**:提取网页内容时,识别和处理...
同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...
XML::Generator 可以在Perl内部生成XML;XML::Dumper 用于将Perl数据结构序列化和反序列化为XML;XML::Writer 则是一个助手模块,帮助编写符合规范的XML文档。 对于XML相关的网络协议和标准,Perl 也提供了相应的...
2. XML::Simple:这是一个用于XML处理的Perl模块,正如其名,它提供了一种简单的方式来解析和生成XML文档。XML::Simple将复杂的XML结构转换为易于理解和操作的Perl数据结构,如哈希和数组。尽管它的名字中带有“简单...
Perl的强大在于其丰富的模块库CPAN(Comprehensive Perl Archive Network),在这里可以找到数千个预先编写的模块,覆盖了网络通信、数据库接口、XML处理、图形生成等各种功能。例如,如果你的服务器需要处理HTTP...
Perl-XML.chm:介绍了 Perl 语言的 XML 处理技术,包括 XML 解析、生成和处理等。 高级技术篇 Advanced.Perl.Programming.1st.Edition.pdf:提供了 Perl 语言的高级编程技术,包括对象编程、网络编程和多线程...
Perl-Astro-FITS-HdrTrans 模块允许用户轻松地解析、修改和创建FITS文件的头部记录,这些记录通常以键值对的形式存在。 该模块可能包含以下核心功能: 1. **FITS头读取**:能够读取FITS文件的HDR(Header)部分,...
这个工具包提供了XML的加载和保存功能,使得Perl程序能够方便地解析、操作和生成XML文档,增强了Perl与XML数据的集成能力。 3. **HTTP Cookie管理**:HTTP cookie是Web应用中常用的一种机制,用于跟踪用户状态和...
在"perl_add_ons 3"中,我们可能找到了处理XML数据的模块,如`XML::Simple`,用于解析和生成XML文档: ```perl use XML::Simple; my $data = { key1 => 'value1', key2 => [ 'value2', 'value3' ] }; my $xml = ...
`XML::Simple`是Perl中一个非常流行的模块,它提供了一个简洁的接口来解析和生成XML。尽管其名字中带有“简单”,但这个模块实际上并不总是那么简单,因为它尝试将复杂的XML结构转换为简单的Perl数据结构,如哈希...
这意味着你可以使用它来转换任何ASCII编码的文本,比如XML或者简单的文本格式。 3. **控制台应用**:作为一个命令行工具,Html2perl易于集成到各种工作流程中,如构建系统或者自动化任务中。只需在终端中运行相应...
"Config-Perl"是一个Perl模块,专门设计用来解析那些用Perl语法编写而非传统ASCII格式(如INI或XML)的配置文件。这个模块允许开发者使用Perl的全部语法灵活性来定义配置结构,而不仅仅是简单的键值对。 Config-...
2. **数据提取**:当需要从大量文本数据中提取特定模式或结构时,`txt2perl`能帮助生成解析和提取规则的Perl函数。 3. **日志分析**:在处理系统日志或其他形式的记录数据时,`txt2perl`生成的子例程可以方便地分析...
此外,“text”标签可能指的是处理纯文本数据,这在Perl中非常常见,因为Perl具有强大的文本处理能力,可以方便地解析HTML、XML或CSV等格式的数据。 “Web-HTTP-Automation-with-Perl.pdf”可能是课程资料或教程...