【发布时间】:2018-02-28 20:56:12
【问题描述】:
我是 Perl 和 XML 的新手,所以请耐心等待。
我的 XMLIn 随机出现问题,不喜欢返回的 XML 文件,即使我打开两个不同的 XML 返回文件它们是相同的。
我想出了这个解决方案:
#Send HTTP Request
my $browser = LWP::UserAgent->new();
my $req = HTTP::Request->new(POST => $endpointurl);
$req->content("@XML");
#Get HTTP Response Status
my $resp = $browser->request($req);
#Get Response Status
my $parser = XML::LibXML::Simple->new();
my $xmlResp = ();
$xmlResp = eval { $parser->XMLin($resp->content()) };
unless ($xmlResp)
{
$xmlResp = eval { $parser->XMLin($resp->content()) };
}
但我不确定这是否是“好习惯”,或者如果失败,让它循环返回的更好方法是什么。
这似乎可行,但我知道这并不“正确”。
***这部分代码是UPS提供的,不是我写的,也不是100%看懂。
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。见:minimal reproducible example
-
我添加了出错的脚本位。告诉我你想看剧本会更有帮助。我对 Perl 和 XML 很陌生,正如您所知,我在这里的帖子很少。
-
我更新了一些代码。我认为它正在使用 XML::LibXML,但它可能不是。提供的代码没有让我使用 XML::Simple Mod,但我对这一切都很陌生,也许使用 XML::LibXML::Simple 只是调用已弃用脚本的另一种方式?跨度>
-
@K.Davis 我没有添加解决方案。这只是显示我如何调用 mod 的更多代码。这是来自 UPS 的预制开发脚本,不是我写的,所以他们写的方式可能有问题。
标签: xml perl xml-parsing parse-error