問題タブ [elementtree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - XML 解析 - ElementTree と SAX および DOM の比較
Python には XML を解析する方法がいくつかあります...
SAXによる構文解析の基本を理解しています。イベント駆動型 API を使用して、ストリーム パーサーとして機能します。
DOMパーサーも理解しています。XML をメモリに読み込み、Python でアクセスできるオブジェクトに変換します。
一般的に言えば、実行する必要があること、メモリの制約、パフォーマンスなどに応じて、2 つのいずれかを選択するのは簡単でした。
(うまくいけば、私はこれまでのところ正しいです。)
Python 2.5 以降、 ElementTreeもあります。これは DOM や SAX と比べてどうですか? どちらに似ていますか?以前のパーサーより優れているのはなぜですか?
python - ElementTreeXPath-属性に基づいて要素を選択します
ElementTreeで属性XPathSelectorを使用するのに問題があります。これは、ドキュメントに従って実行できるはずです。
ここにいくつかのサンプルコードがあります
XML
Python
次の例外が発生します。
python - Python 2.5 には、XML ドキュメントをネイティブに変換するためのパッケージが含まれていますか?
私の Python アプリには、XSL ファイルを使用して変換したい XML ドキュメントがあります。現在、xml.etree を使用して XML ドキュメントを生成していますが、Python 2.5 内で XML ドキュメントをネイティブに変換できるものは見つかりませんでした。
変換を実行できるライブラリ ( libxslt ) を 1 つ見つけましたが、Python には目的の結果を実現するネイティブ ライブラリがあると考えました。
何かご意見は?
python - Python の単体テストで XML を比較する
XML 文字列からそれ自体を構築し、それ自体を XML 文字列に書き出すことができるオブジェクトがあります。XML を介したラウンド トリップをテストする単体テストを作成したいのですが、2 つの XML バージョンを比較するのに問題があります。空白と属性の順序が問題のようです。これを行う方法について何か提案はありますか? これは Python であり、ElementTree を使用しています (このレベルでは文字列内の XML を扱っているだけなので、ここではそれほど重要ではありません)。
python - ElementTree を使用して要素の完全な XML または HTML コンテンツを取得するにはどうすればよいですか?
つまり、要素自体のタグなしで、すべてのテキストとサブタグですか?
持つ
私が欲しい
element.text は「何とか」を返し、etree.tostring(element) は次を返します。
python - Python の ElementTree を使用してトップレベルの xml コメントを見つける
次のように、Python の ElementTree を使用して xml ファイルを解析しています。
test.xml は、数行の xml コメントで始まります。
これらのコメントを et から取得する方法はありますか?
python - Python XML - 動的にネストされた「ノード」要素からフラット レコードを作成する
XML ファイルを解析し、データからレコード ベースの出力を作成する必要があります。問題は、XML が「一般的な」形式であり、何らかのデータ構造を表すネストされた「ノード」要素がいくつかのレベルにあることです。「ノード」要素の最も深いレベルに基づいて、レコードを動的に構築する必要があります。XML の例と予想される出力を下に示します。
私はPythonのElementTreeに最も精通しているので、それを使用したいと思いますが、動的ノードの深さに基づいて出力レコードを動的に構築する方法に頭を悩ませることはできません。また、ネストされたノードが x レベルの深さになるとは想定できないため、ループを使用して各レベルをハードコーディングすることはできません。XML を解析してその場で出力を構築する方法はありますか?
いくつかの追加メモ:
- ノード名は、親と詳細情報 (レート、価格など) を除いてすべて「ノード」です。
- ノードの深さは静的ではありません。そのため、サンプルに表示されているよりもさらに多くのレベルを想定してください
- 各「レベル」には、複数のサブレベルを含めることができます。したがって、各レコードを適切に構築するには、各子「ノード」をループする必要があります。
任意のアイデア/入力をいただければ幸いです。
出力は次のようになります。
python - lxml の etree で Doctype を作成する
LXML の etree で生成している XML ドキュメントに Doctype を追加したいと考えています。
ただし、doctype を追加する方法がわかりません。文字列のハードコーディングと連結はオプションではありません。
PIがetreeに追加される方法に沿って何かを期待していました:
しかし、それは私にとってはうまくいきません。lxmlを使用してxmlドキュメントにaを追加するには?
python - ElementTree/lxmlを使用してテキスト文字列の親タグを検索する
テキストの文字列を取得し、段落/ドキュメントの残りのテキストをhtmlから「抽出」しようとしています。
私の現在のアプローチは、lxmlで解析されたhtml内の文字列の「親タグ」を見つけようとしています。(この問題に取り組むためのより良い方法を知っているなら、私はすべての耳です!)
たとえば、ツリーで「TEXT STRING HERE」を検索し、「p」タグを返します。(HTMLの正確なレイアウトは事前にわからないことに注意してください)
ご協力いただきありがとうございます!
python - elementtree での SimpleXMLTreeBuilder の使用
私はdjangoとelementtreeを使用してアプリケーションを開発しており、それを本番サーバーにデプロイしているときに、Python 2.4を実行していることがわかりました。elementtree をバンドルできましたが、エラーが発生しました:
残念ながら、私はPythonをアップグレードできないので、私が得たものにこだわっています。パーサーとして SimpleXMLTreeBuilder を使用するにはどうすればよいですか? また、コードを書き直す必要がありますか?