-2
我想使用XML::Twig
更改XML屬性值。我可以用XML::LibXML
這樣使用XML :: Twig更改XML屬性值
my $doc = XML::LibXML->new->parsefile();
my $xpath = '/model/@name';
my ($attr) = $doc->findnodes($xpath);
$attr->setValue('dfdsa');
做到這一點,但我不得不使用XML::Twig
因爲一些限制
輸入
<model name="XXXX" oid="i">
<system oid="1" uri="/gaia" listing="NO">
<schema desc="HTTP Sever schema" enab="YES" name="HTTP" oid="1" prio="5">
</schema>
</system>
</model>
輸出
<model name="dfdsa" oid="i">
<system oid="1" uri="/gaia" listing="NO">
<schema desc="HTTP Sever schema" enab="YES" name="HTTP" oid="1" prio="5">
</schema>
</system>
</model>
我想這個代碼,但它不修改,我很失望,你似乎都做了幾乎沒有來嘗試自行解決這一問題的內容
my $doc = XML::Twig->new->parsefile('pattern.xml');
my $xpath = '/model';
my ($attr) = $doc->findnodes($xpath);
$attr->set_att(name => 'dfdsa');
那你試試呢?設置屬性的值是用$ elt-> set_att(name =>'dfdsa')完成的' – mirod 2012-08-13 06:05:41
Hello Minard, 我在下面試過,但是它沒有修改內容:( my $ doc = XML :: Twig-我的$($ attr)= $ doc-> findnodes($ xpath); $ attr-> set_att(name ='xpath'); new-> parsefile('pattern.xml'); \t my $ xpath ='/ model'; my >'dfdsa'); – user1575765 2012-08-13 06:37:31
即使我嘗試下面的Bud沒有工作 XML :: Twig-> new(twig_handlers => {'model'=> sub {$ _-> set_att(name =>'dfdsa')) }} \t, - > parsefile('pattern.xml'); – user1575765 2012-08-13 07:05:39