libxml、info。実際にファイルを解析する必要はありません。libxmlを使用して、破損したXMLファイルのノード間でテキスト値を検索して置き換える方法はありますか?
libxmlを使用して、破損したxmlファイルのノード間でテキスト値を検索して置き換える方法はありますか?
libxml、info。実際にファイルを解析する必要はありません。libxmlを使用して、破損したXMLファイルのノード間でテキスト値を検索して置き換える方法はありますか?
libxmlを使用して、破損したxmlファイルのノード間でテキスト値を検索して置き換える方法はありますか?
私はPHP経由でlibxmlを知っているので、これはあなたのためにはうまくいきません。loadの代わりにloadHTMLFileを使用してください。この方法でも、通常のWebサイトよりも壊れていない場合でも、破損したファイルをロードすることができます;
ロードされたら、通常のXMLのように処理できます。保存すると、ファイルが修復されます。
これで解決しない場合、ファイルに大きな損害が発生します。そうすれば、libxmlでファイルにアクセスする方法はありません。
一般的に - いいえ。ファイルがどのように壊れているかによって異なります。それを明確にしてください。
ファイルが
ファイルが新しいval& &の出現は、ファイルを良好なxmlにするためのスペースで置き換えられます。この置換が行われないと、ファイルはxmlParseFile()の呼び出しで解析エラーが発生します。 。 Andreas、私はこの交換を行うためのきれいで速い方法を見つけようとしています。 –
nomad
私が見ている限り、アンパサンド文字 "&"のエスケープされていない部分は、libxmlで処理できません。 DTDのエンティティとして定義することもできません(私はこれを確かめてみました)。あなたは古い形式の検索と置換を実行する必要があるようです。正規表現で。あなたの例が常に合っている場合は、 "&"(空白、アンパサンド、空白)を検索して、他のデータの損傷を避けてください。 – Andreas