有谁可以帮助我吗?我需要使用Perl和
XML :: Lib
XML模块替换
XML节点
这是XML文件的片段:
<utenti> <utente> <username>amministratore</username> <useremail>admin@email.com</useremail> <password>0000</password> </utente> </utenti>
我需要替换密码的值.
特别是我必须在XML文件中找到具有特定用户名的用户(由cookie $userCookie给出)并用变量$newPSW替换他的密码.
我试过这个:
my $psw = $doc->findnodes("/utenti/utente[username=\"$userCookie\"]/password"); my $parent = $psw->parentNode; $parent->removeChild($psw); my $password = XML::LibXML::Element->new('password'); $password->appendText( $newPSW ); $parent->appendChild($password);
但每次浏览器给我以下错误:
Can't locate object method "parentNode" via package "XML::LibXML::NodeList"
似乎找不到我使用的任何方法.
有人可以帮忙吗?
解决方法
你得到一个XML :: LibXML :: NodeList作为结果.而且这个对象没有parentNode函数.您必须获取数组的第一个元素,然后在其上调用方法parentNode.
第一个对象是XML :: LibXML :: Node类的对象,它有一个funnd parentNode.
有关更多详细信息,请参阅XML::LibXML::Node的文档
my $psw = $doc->findnodes("/utenti/utente[username=\"$userCookie\"]/password"); my $parent = $psw->[0]->parentNode; $parent->removeChild($psw->[0]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。