草庐IT

perl-critic

全部标签

xml - perl 使用从标准输入传递的 xml 使用 XML::Simple

我想从标准输入读取一个xml。为了解析xml,我将使用$data=$xml->XMLin(),无论如何,在不将其重写到文件中的情况下,评估从标准输入传递的所有数据的最有效方法是什么?如果我使用$data=$xml->XMLin()它不起作用。有什么建议吗?主要目标是以最有效的方式使用从标准输入传递的数据。 最佳答案 $data=$xml->XMLin('-');Note,thefilename'-'canbeusedtoparsefromSTDIN. 关于xml-perl使用从标准输入传

xml - 使用 Perl 解析 XML 中嵌套属性的最佳方法是什么?

所以我在一个基本上有一个嵌套元素数组的xml文件中工作,每个元素都有很多嵌套属性:我的目标是解析出属性(square_feet、highway、name)并将它们输出到.csv文件。我使用的是XML::Simple,但我使用它的次数越多,我认为我使用的是错误的包。我的主要问题是解析嵌套属性的最佳控制结构是什么?我一直纠结于引用不存在的引用或数组引用。这是我到目前为止的代码:usewarnings;useXML::Simple;useData::Dumper;my$in="XML_in.xml";my$xml=XML::Simple->new(KeyAttr=>[],ForceArray

xml - 使用Perl从xml文件中提取字符串

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我需要使用Perl提取放置在associationrightmh=之后的字符串。在此示例中:“0x42001dc”和“0x4200000”。每个字符串都将被添加到同一个数组中。

xml - Perl XML 获取同一父项的子项详细信息

我有以下XML,如果正则表达式与另一个子元素匹配,我希望从同一父元素获取子元素。问题是,XML到处都是重复的命名标签,因此很难简单地执行Movie->Year,因为有很多电影元素。例如数据:Titanic1997DramaMoneyball2011Sport/DramaFightClub1999Drama/ActionPerlmy$simple=XML::Simple->new();my$tree=$simple->XMLin($_);my$movie=$tree->{movie}{title};if($movie=~/Titanic/){#$movie->year???#desire

xml - 使用 Perl 解析 XML

这里完全是菜鸟,所以我为我的无知提前道歉。我搜索和乱搞的大部分内容都以使用XML::LibXML为中心使用XPath。我遇到的问题是我不想捕获标签之间的文本:我需要标签的值。这是我的XML结构yesyesRSATwo-FactoryesRSATwo-Factor我正在尝试获取名称属性(不带引号)并确定此人是super用户还是super读者。除了打印节点外,我无法做太多事情。我需要将其转换为用户名结构中的CSV文件;作用 最佳答案 使用XML::LibXML从XML文档中提取信息的最简单方法是使用find系列方法。这些方法使用XPat

xml - 完全用 Perl 编写的 XML 解析器的优点和缺点是什么

完全用Perl编写的XML解析器与仅提供解析器接口(interface)(如GNOME的LibXML)的优缺点是什么? 最佳答案 优点:更便携且更易于安装(您不需要针对C库编译纯Perl模块,它们将在perl二进制文件运行的任何地方运行,您不需要C编译器和如果您想在任意机器上构建它,要链接的dev-库)。缺点:与高度优化的C相比,纯Perl(或与此相关的任何动态语言)相对较慢。 关于xml-完全用Perl编写的XML解析器的优点和缺点是什么,我们在StackOverflow上找到一个类似

xml - 如何在 Perl 中创建 XML 模板?

我需要创建的XML文件是这样的$state$time$location....我不想使用多个打印来创建所需的XML文件,我希望有一个模板,它定义了XML的结构和格式。然后在创建XML文件时,我只需要为模板中的变量提供实际值,并将指定的模板写入新创建的文件一次,仅一次。 最佳答案 使用HTML::Template.#!/usr/bin/perlusestrict;usewarnings;useHTML::Template;my$template_text=EO_TMPLmy$tmpl=HTML::Template->new(scala

xml - 如何使用 Perl 查找和替换 XML 中的文本?

我的XML文件看起来像这样:我想用perl中以RU开头的所有父标签下的prop字段值中的“a.org”替换为“b.com”。如何将更改作为xml文件获取? 最佳答案 假设您的XML格式正确(但不是),您可以使用anumberofCPANmodules为了工作。大多数将涉及解析文档、使用XPath查询查找您的位,然后再次打印文档。这是一个XML::Twig的例子。我必须修复XML才能解析它。#!/usr/bin/perlusestrict;usewarnings;useXML::Twig;my$twig=XML::Twig->new(

xml - 使用 libxml 和 XSD 文件在 Perl 中验证 XML

我正在尝试让我的perl脚本从网上获取Xxml文件并根据XSD文件对其进行验证。执行此操作的代码如下:my$url=shift@ARGV;my$response=$ua->get($url)||die"Can'tfetchfile";my$file=$response->content;my$schema_file="schema.xsd";my$schema=XML::LibXML::Schema->new(location=>$schema_file);my$parser=XML::LibXML->new;my$doc=$parser->parse_string($file);ev

xml - 带有 XML Twig 段错误的 Perl 脚本,子进程以信号 11 终止

我正在尝试运行一个perl脚本,其中包含一些正在构建的Twig。此脚本应获取xml文件并返回文件中作为属性存在的版本号。每次我尝试解析一个大文件(23MB)时,脚本都会崩溃并显示以下内容-"Child341terminatedwithsignal11".调用将获得所需属性的子例程的代码-my$version=$strm_obj->get_attr(file=>$file1,tag=>"config",attr=>"contentversion");print"Versionof$file1is$version\n";my$globalversion=$strm_obj->get_att