1

ソフトウェアの構成を保存するためにxmlファイルを使用しています。

これらの構成の 1 つは、次のようなシステム パスになります。

> set_value = "c:\\test\\3 tests\\test"

私はそれを使用して保存できます:

> setting = etree.SubElement(settings,
> "setting", name=tmp_set_name, type =
> set_type , value= set_value)

私が使用する場合

doc.write(output_file, method='xml',encoding = 'utf-8', compression=0)

ファイルは次のようになります。

< setting type="str" name="MyPath" value="c:\test\3 tests\test"/>

今、私は etree.parse メソッドでそれをもう一度読みます

文字列値を持つ etree 子オブジェクトを取得しましたが、文字列には

\3

文字であり、それを使用してxmlに再度書き込もうとすると、解釈されます!!!!! だから私はもうそれをパスとして使用することはできません 単純な文字列操作が欠けているだけかもしれませんが、それを見ることはできません =) どのようにスマートに解決しますか?

これは一例ですが、パスを xml に保存して lxml で解析するのが最善の方法だと思いますか?

ありがとうございました !!

4

1 に答える 1

1

今、私は etree.parse メソッドでそれをもう一度読みます

文字列値を持つ etree 子オブジェクトを取得しましたが、文字列には

\3

文字であり、それを使用してxmlに再度書き込もうとすると、解釈されます!!!!!

私はそれを試しましたが、「解釈」されません。解析後に返される要素の属性は次のとおりです。

{'type': 'str', 'name': 'yowza!', 'value': 'c:\\test\\3 tests\\test'}

ご覧のとおり、これは期待どおりに機能します。あなたが本当にこの問題を抱えているなら、あなたはあなたが言っていることとは別のことをしている. 実際のコードを見せていただくか、問題を示して使用する小さなサンプル コードを作成してください。

于 2010-01-22T10:00:12.767 に答える