2012-02-12 5 views
1

perlのlibXMLのsetDataメソッドに問題があります。私のコードスニペットは次のとおりです。perlでLibXMLのsetData()メソッドを使用した後、データは実際のxmlファイルに書き出されません

 
    print "\n Query: " , $query, "\n"; #Query 
    my($exactNode) = $doc->findnodes($query); #Finding the nodes who data needs to change 
    print "\n Data: ", $exactNode->setData($finalString), "\n"; #Setting the data 

setDataの使用後、getDataを使用して値を取得しました。 getDataが出力する値は最新のものですが、このデータを設定するxmlを開いたときです。値は古いものです。

私は間違っていることを教えてください。

ありがとうございました。ここにコードを入力してください

+0

プログラム全体を提供します。 – daxim

答えて

2

私はLibXMLに慣れていませんが、setDataは何も返さないと書かれています。おそらくsetData()に電話して、それを別々に取得する必要があります。

また、LibXMLが変更を保存するとは思いません。おそらくtoFileと変更されたXML文書を明示的に保存する必要があります。 XML::LibXML::Documentを参照してください。

+0

返事ありがとうございます。 – user1205675

+0

うん、それは働いた。 print $ doc-> toStringを使って、すべての変更がメイン画面に表示されました。 >演算子を使用すると、変更は入力ファイルではなく新しいファイルに保存されました。 – user1205675

関連する問題