1

現在、LXMLlibXML2の 2 種類があり、どちらも機能しているようです。特にメモリ文字列とファイルを XML に解析し、XSLT スタイルシートをインポートして適用するために、両方のベンチマークを試みました。純粋なパフォーマンス ベースのテストでは、LXML が (具体的にはスタイルシートを適用して) 一番上にあることが示されていますが、libxml2 は他の多くの言語のデファクト スタンダードとして使用されているようです。さらに、LXML の構文解析中、エンティティーの置換に問題があるようです。

私の主な質問は次のとおりです。本番環境で LXML を使用して成功した人はいますか?あなたの印象はどうでしたか?

4

1 に答える 1

2

私は LXML を使用しており、非常に感銘を受けました。etree に似たインターフェースとオブジェクト化インターフェースの両方を持つことによって提供される柔軟性は、非常に便利です。また、個別のテキスト ノードを用意する必要がないことも気に入っています。

エンティティの置換に関しては、いくつかの問題もありましたが、私にとっては、作成時にパーサーに適切なオプションを与えることが問題でした。

たとえば、リモート DTD からエンティティを読み込もうとしている場合は、次のようにします。

parser = etree.XMLParser(load_dtd=True, no_network=False)

no_networkフラグはデフォルトで に設定されておりTrue、私の意見では少し直感に反していますが、それは実際に私がそれでヒットした唯一の障害です.

于 2009-11-11T23:50:51.627 に答える