草庐IT

xml - 使用 libXML/XPath 提取和存储 XML 数据

useXML::LibXML;useData::Dumper;#parsingfilemy$dom=XML::LibXML->new->parse_file('sample.xml');my$context=XML::LibXML::XPathContext->new($dom->documentElement());$context->registerNs('u','http://uniprot.org/uniprot');#printfiletomakesureitlooksokprint$dom,"\n";#findsshortnamesmy$sn=$context->findn

xml - 将代码从使用 XML::XPath 更改为 XML::LibXML

我有一个运行良好的perl脚本。脚本将xml文件作为输入并返回相同的JSON格式以及XML文件中特定元素的值。#!/usr/bin/perlusestrict;usewarnings;useJSON;useXML::Simple;useXML::XPath;my$xmlFileName="jsonconversion.xml";my$fileNameElement="//FileName";#CreatetheobjectofXMLSimple$xmlSimple=newXML::Simple(KeepRoot=>1);#Loadthexmlfileinobject$dataXML=$

xml - 如何使用 perl 将 ZUGFeRD-XML 附加到 PDF?

我需要创建一个附有XML的PDF/A3b文档,就像在ZUGFeRD中声明的那样。为此,我自己编写了一个perl脚本,它可以将XML文件创建为字符串并将其附加到PDF。我遵循了tutorialofthepdflib-cookbook,但我从来没有让我的XML100%附加到PDF。我在附加文件下看到它,我可以从那里将它保存到我的文件系统,但如果我用编辑器检查PDF,我只会看到XMP元数据,而不是我的XML。我想我需要将XML作为嵌入式文件流或类似的东西附加,但我不太确定我的代码中是否遗漏了某些东西,或者我只需要以其他方式添加它。这是我的XMP文件:BASICZUGFeRD-invoice.

xml - 如何使用 perl/LibXML 在 DOCTYPE 中创建 ENTITY 引用

我正在尝试创建以下包含实体声明的DTD:]>我可以在没有实体引用的情况下成功创建DOCTYPE:#!/usr/bin/perl-wusestrict;useXML::LibXML;my$doc=XML::LibXML::Document->new('1.0','UTF-8');my$dtd=$doc->createInternalSubset("LinkSet","-//NLM//DTDLinkOut1.0//EN","https://www.ncbi.nlm.nih.gov/projects/linkout/doc/LinkOut.dtd");my$ls=$doc->createEl

xml - 如何打印出属性值而不是元素内容?

我有一个这样的XML文件:0.1123975676我正在尝试使用以下代码打印出wellName属性:my@n1=$xc->findnodes('//ns:wave[@waveID="1"]');#so@n1isanarrayofnodeswiththewaveID1#Aboveyouaresearchingfromtherootofthetree,#forelementwave,withattributewaveIDsetto1.foreach$nod1(@n1){#$nod1isthenameoftheiterator,#whichiteratesthroughthearray@n1

xml - 如何使用 Perl 编辑 XML 文件?

我有一个电影收藏目录,其中包含指向文件夹和文件的本地链接,以便于访问。最近我重新组织了我的整个硬盘空间,我需要更新链接,我试图用Perl自动完成。我可以导出XML文件中的数据并再次导入。我可以使用File::Find提取新文件路径但我遇到了两个问题。我不知道如何将新文件路径中的$title与XML文件中相应的$title连接起来。我是第一次处理此类文件,我不知道如何进行替换过程。这是我到目前为止所做的usestrict;usewarnings;useFile::Basename;useFile::Find;useFile::Spec;useXML::Simple;useData::Du

xml - 如何使用 Perl 的 XML::Twig 解析不完整的 XML 片段?

我正在尝试从XML格式的日志文件中提取数据。由于这些很大,我正在使用XML::Twig从缓冲区而不是整个文件中提取相关数据由于这些是来自STDIN的串联数据,因此XML的格式远非正确。解析器经常因错误而停止。我怎样才能让XML解析器忽略错误并只提取我感兴趣的标签?我是否必须退回到正则表达式解析(开始标记-结束标记)? 最佳答案 我实际上只会累积之间的数据标记然后解析该字符串,假设每条消息的内容很小:#!/usr/bin/perlusestrict;usewarnings;useXML::Simple;useData::Dumper;

Perl 中的 XML 解析问题

我正在尝试从XML文件中解析抽象部分。我正在使用力阵列。我写了代码,但它只在抽象在数组中时工作,而在数组不存在时不工作。这是因为当在数组中时我也使用{content}而当不在数组中时{content}丢失了。代码如下useLWP::Simple;useXML::Simple;useData::Dumper;open(FH,">:utf8","xmlparsed2.txt");my$db1="pubmed";my$query="9915366";my$q=16404398;my$xml=newXML::Simple;$urlxml="http://eutils.ncbi.nlm.nih.

xml - 使用 Perl 和 XML::Twig 解析 XML - 进一步提取嵌套子项

目前正在尝试弄清楚如何最好地处理以下示例XML数据:1SomeStuff我目前正在使用XML::Twig来操作其他一切,我想继续使用这个模块来实现我的目标,即:从C2A和C2B中提取数据,并将它们分配给变量。请注意,C2A和C2B可能有多个条目,例如需要将它们连接成一个@array。但是,我的问题是向下导航树,例如,如果我们按照我发现的另一个示例进行操作,那么对于这些​​数据来说这就足够了:NameoftheMovie28372382Thisisalongdescriptionshortdescriptiondirector1director2...解决方案是:@directors=$

xml:如何缩进子元素但将属性保留在新行上

我有一个xml如下。]>我需要缩进子元素,将xml文件的其余部分保持原样(即不应删除dtd部分和实体,并且属性应位于新行上)。xml最终应如下所示:]>我尝试过使用xmllint和tidy。xmllint正在缩进子元素,但它不会在新行中保留属性。另一方面,tidy可以选择将属性保留在新行中,但它无法缩进子元素。我也尝试过使用perl正则表达式。这可能可以通过XSLT来完成,但我并不精通它。 最佳答案 在我看来XML::Twig的xml_pp实用程序几乎可以用它的indented_a选项做你想做的事:$xml_pp-sindented