免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1881 | 回复: 2
打印 上一主题 下一主题

求教各位关于解析xml的返回值的问题,在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-09 16:13 |只看该作者 |倒序浏览
本帖最后由 yuqinghua1982 于 2012-02-09 16:18 编辑

xml内容为:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><ns2:ResHeader xmlns:ns3="xxx" xmlns:ns2="xxx"><ns2:desc>success</ns2:desc><ns2prs>1</ns2prs><ns2prtime>0</ns2prtime><ns2:quota>1</ns2:quota><ns2:rquota>9999921</ns2:rquota><ns2:status>0</ns2:status></ns2:ResHeader></soap:Header><soap:Body><ns3:updateCpcResponse xmlns:ns2="xxx" xmlns:ns3="xxx"><cpcTypes><cpcId>202056158</cpcId><cpcGrpId>24302610</cpcGrpId><cpc>xxxx</cpc><price>0.5</price><visitUrl>xxx</visitUrl><matchType>1</matchType><cpcQuality>4.0</cpcQuality><pause>false</pause><status>35</status><isShow>1</isShow></cpcTypes></ns3:updateCpcResponse></soap:Body></soap:Envelope>
求教,部分代码如下                    
                        my $doc        = $parser->parse_string($result);
                        my @okitemlist = $doc->getElementsByLocalName('Envelope');
                        foreach my $item (@okitemlist) {
                         my $status = "" . $item->getElementsByLocalName('status');
                         $cpcId = "" . $item->getElementsByLocalName('cpcId');
                         my $adgroup = "" . $item->getElementsByLocalName('cpcGrpId');
                         print "======...............$cpcId\n";
                        print "======...............$cpcId    $status\n";

最后出的print结果为
======...............202056143
======...............202056143             035
可我只想要第一个status的值,也就是0,而不想要第二个status的值35,如何处理啊?

请兄弟姐妹帮忙下

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
2 [报告]
发表于 2012-02-13 22:35 |只看该作者
Cut off he body tag first then look for status.

论坛徽章:
0
3 [报告]
发表于 2012-02-15 16:25 |只看该作者
  已解决 将 my $status = "" . $item->getElementsByLocalName('status')改为my $status = "" . $item->getElementsByLocalName('status')->string_value();就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP