原始的方法
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();
分享到:
相关推荐
这个模块是Perl与XML集成的关键组件,尤其在需要解析、操作或生成XML数据的场景中非常有用。它为Perl开发者提供了一种高效且功能强大的方式来处理XML内容,从而能够实现不同语言之间的数据转换。 XML(eXtensible ...
1. **解析XML文档**:XML-Simple能够将XML字符串或文件解析成Perl的数据结构。例如,一个XML文档可以被解析成一个哈希,其中XML元素成为哈希键,元素内容成为对应的值。 2. **生成XML文档**:同样,Perl的数据结构...
Net::SAML2库提供了对SAML XML文档的解析和生成能力,以及与SAML通信相关的各种操作。以下是一些关键知识点: 1. **SAML基本概念**: - **SAML主体(Subject)**:通常代表用户,是身份验证的对象。 - **断言...
XML::Generator 可以在Perl内部生成XML;XML::Dumper 用于将Perl数据结构序列化和反序列化为XML;XML::Writer 则是一个助手模块,帮助编写符合规范的XML文档。 对于XML相关的网络协议和标准,Perl 也提供了相应的...
- libxml2:用于XML解析。 - gd:用于动态生成图形。 ```bash yum -y install zlib libpng jpeg freetype2 libxml2 gd ``` 2. **安装PHP和HTTPD**: - PHP:用于执行服务器端脚本。 - HTTPD:用于提供Web服务...
这篇博客文章“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`常用于以下场景: - **网页爬虫**:提取网页内容时,识别和处理...
`PPI` 使用了 SAX(Simple API for XML)模型,这是一种事件驱动的解析方式,适用于处理大量数据或需要低内存占用的场景。通过 `PPI`,开发者可以编写程序来分析和修改 Perl 代码,而无需实际运行这些代码。 #### ...
同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...
在这个例子中,我们关注的是JavaScript CGI,它允许在客户端使用JavaScript生成动态内容,而无需服务器端的额外解析。 要开始一个CGI项目,你需要创建一个可执行文件,该文件将作为CGI程序。在Linux中,你可以使用...
"Config-Perl"是一个Perl模块,专门设计用来解析那些用Perl语法编写而非传统ASCII格式(如INI或XML)的配置文件。这个模块允许开发者使用Perl的全部语法灵活性来定义配置结构,而不仅仅是简单的键值对。 Config-...
- **XML-Parser**:用于处理XML文件的Perl模块。 - **intltool**:用于国际化和本地化程序的工具。 - **rrdtool**:用于收集、存储和绘制网络统计数据的工具。 #### 三、具体安装步骤 ##### 1. 安装XML-Parser **...
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 语言的高级编程技术,包括对象编程、网络编程和多线程...
这个项目致力于简化XML数据的解析、生成、操作以及与其他XML技术(如XPath、XSLT、SOAP)的集成。Perl XML库的广泛性使得开发人员能够灵活地处理XML文档,无论是简单的数据交换还是复杂的XML应用。 在Perl XML项目...