を使用して XML 属性値を変更したいと考えていますXML::Twig
。私はこのXML::LibXML
ように使用してこれを行うことができます
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');