私はxmlを解析するのに長い時間のためにXML::XPath
を使用していますが、今や状況が属性値を変更するようになっています。XML :: TwigオブジェクトをXML :: XPathオブジェクトに変換する方法はありますか?
xmlはファイルで利用できますが、これは非常に似ています。
<AppName>
<Action AllDay='1'StartRace='1'/>
<StartPoint AM_PM='AM' Hours='09' Mins='30'/>
<EndPoint AM_PM='PM' Hours='06' Mins='30'/>
</AppName>
私は12と09を置き換える方法を成功裏にいくつかを持って、StartPointのタグの時間を変更する
use strict;
use warnings;
use XML::Twig;
my $fileName = 'Conf.xml';
my $twig = XML::Twig->new(
twig_roots => { StartPoint => \&ReplaceAtriValue },
twig_print_outside_roots => 1,);
sub ReplaceAtriValue {
my ($twig, $startPoint) = @_;
if ('09' eq $startPoint->att('Hours'))
{
$startPoint->set_att(Hours => '12');
}
$startPoint->print(); }
$twig->parsefile($fileName);
をperlスクリプトを書かれている、今$twig
は、XMLオブジェクトを持っています。 XML::XPath
を使ってXMLを解析するSetWindow.pmにこのオブジェクト($twig
)を送信した場合、このオブジェクトは認識されませんでした。 XML::Twig
オブジェクトをXML::XPath
オブジェクトに変換する方法はありますか。XML::XPath
は$twig
オブジェクトの値を解析します。
実際に私は長いバックのためにXML::XPath
を使用していますので、私はXML::XPath
オブジェクトをすべてSetWindow.pmのような自分の* .pmに送る必要があります。同時に、標準のxmlの属性の値を変更する必要があります私自身のPMに送る。
ありがとうございました。
ご協力いただきありがとうございます。
rndpilot