1
我有一个需要解析的xml。 我当找到某个特定元素时调用xml解析
$parser = new XML::Parser(Handlers =>
{Init => \&handle_Init, Start => \&handle_Start,
Char => \&handle_Char, End =>\&handle_End,
Final => \&handle_Final});
$parser->parsefile("ababab.xml");
在handle_Char子程序,只要我找到一个特定的标签和它的价值,我想停下来。
如何实现它?
您的测试是向后的,您的打印成功时解析失败。 另外,如果你打算使用die来处理非致命的流量控制,请使用异常对象。 'die'接受它作为参数对象,然后在'$ @'中可用,这允许结构化测试而不是字符串匹配。有许多CPAN模块可以为您做一些工作,或者您可以推出自己的工作。 – 2010-11-03 15:18:12
同意,很少*需要显式使用'eval'和'$ @'来检查异常。最简单和最小的异常处理包目前是Try :: Tiny;在单元测试中你可以使用Test :: Fatal。 – Ether 2010-11-03 16:13:31
哎呀,向后测试是固定的,这就是我在早晨喝咖啡之前张贴答案的结果。至于异常建议,如果你有更好的方法,那么一定要发布。 – mirod 2010-11-03 16:35:50