問題タブ [dom4j]
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.
java - dom4jを使用して他のノードの前にノードを挿入するにはどうすればよいですか?
org.dom4j.Document
具体的には DefaultDocument の実装であるインスタンスがあります。別のノードの直前に新しいノードを挿入したいと思います。私は dom4j API をよく理解していません。Element
とDOMElement
と の違いがわかりません。
org.dom4j.dom.DOMElement.insertBefore
私が持っているノードはDOMElementではないため、私にとってはうまくいきません。インスタンスではなくインスタンスDOMNodeHelper.insertBefore
があるため、良くありません。ああ、神様。org.dom4j.Node
org.w3c.dom.Node
この作業を行う小さなコード スニペットを教えていただけますか?
これは私が今持っているものです:
java - Dom4j: コンパイル時のエラー「互換性のない型」
Java で小さなデスクトップ アプリケーションを開発しています。XML ファイルからデータを読み取る必要があるポイントに遭遇しました。これは、Dom4j ライブラリを使用しているためです。コーディング中に次のエラーに直面しています。このエラーを解決するために誰かが私を導くことができます:
java - dom4j: この XPath エラーを解決するには?
目的のノードを選択するための XPath 手法を使用して、dom4j を使用して XML を読み取っています。私の XML が次のようになっているとします。
注: 上記の XML は見苦しいかもしれませんが、このダミー ファイルを作成するのは、私のプロジェクトを理解し、秘密を守るためだけです。
次のような単純な XPath 式を指定すると、
その後、正常に動作しますが、次のような複雑な式を指定すると:
次に、次のエラーが表示されます。
私のXPathで何がうまくいかないのか、誰かが私を導くことができますか?
2 番目の質問は、正社員のみの Emp_Bio ノードを選択する方法です。これは機能しますか?
java - dom4J:ノードで属性、要素を取得し、XPathを適用する方法は?
目的のノードを選択するための XPath 手法を使用して、dom4j を使用して XML を読み取っています。私の XML が次のようになっているとします。
注: 上記の XML は見苦しいかもしれませんが、このダミー ファイルを作成するのは、理解を深め、プロジェクトの機密性を維持するためだけです。
私の目標は、すべての正社員の雇用履歴を取得することです。このため、次の XPath 式を使用して、正社員のすべての「Emp」ノードを取得できました。
ノードを取得して保存するコードは次のようになります。
ここで、次の 3 つの質問をしたいと思います。
- 各従業員の ID 属性を取得するにはどうすればよいですか?
- 各従業員の名前要素を取得するにはどうすればよいですか?
- 最後になりましたが、最も重要なことですが、各従業員の Job ノードを取得するために指定する必要がある XPath は何ですか? 私はフォローしようとしましたが、成功しませんでした:(
node.selectNodes("/Emp/Employment_History/job"); //これはゼロのノードを返します (または) node.selectNodes("//Emp/Empployment_History/job");// これは期待以上のノードを返します
java - dom4J:ノードの要素の値を取得する方法は?
目的のノードを選択するためのXPath手法を使用して、dom4jを使用してXMLを読み取っています。私のXMLは次のようになっていると考えてください。
次に、すべての従業員の情報を従業員クラスのリストに保存する必要があります。私が以下をコーディングするまで:
現在選択されているノードの名前と年齢を取得するにはどうすればよいですか?そのような方法はありますかnode.getElementValue("name");
java - Dom4Jは、ファイルを書き込むときに空白を保持します
Dom4Jを使用してxmlファイルを書き込むプログラムに取り組んでいます。私が書いているデータベーススキーマには、便利なxml検証とインポートスキーマがあります。Dom4Jはうまく機能していますが、Dom4JのXMLWriterクラスで「preserve」フィールドを設定する方法がわかりません。エンコードされた'\n'を保持する必要がある特定の要素があります。
このクラスのjavadocは、少し文書化されていませんhttp://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/org/dom4j/io/XMLWriter.html
OutputFormatオブジェクトで遊んでみましたが、サイコロはありません。
XMLWriterオブジェクトが、ファイルに書き込むときにdom4jツリーの要素の空白を確実に保持する方法を教えてもらえますか。
ありがとう、
ドナルド
私が始めていると言う:
次のような出力が必要です。
行リターンでタイトルフィールドにエンコードされます。
IllegalAddExceptionであるため、これは機能しません。
java - Dom4j xmlns 属性
ルート ノードにのみ xmlns 属性を追加したいのですが、名前空間をルート要素に追加すると、後続のすべての子要素も同じ xmlns 属性を取得します。xmlns 属性を単一のノードに追加し、その子ノードには追加しないようにするにはどうすればよいですか? コード:
xml - dom4j での要素のオフセットとカバーされたテキスト
次のような PCDATA 要素を含む XML ファイルを処理する必要があります。
各 <text> の <sentence> ごとに、文 ID とその文に含まれる全文を含むデータ構造を設定する必要があります。次に、各 <instance> に対して、インスタンス ID と文内の開始位置と終了位置を含むデータ構造を設定する必要があります。(空白が正規化されているかどうかは気にしません。)
したがって、上記の例では、基本的に次のものが必要です。
dom4jでこれを行う方法はありますか? Element.getText() メソッドは子要素のテキストをスキップします。別の要素内の要素のオフセットを与えるメソッドは見当たりません。dom4j がこのタスクに適していない場合、より優れたツールは何ですか?
java - dom4jを使用してxmlドキュメントを作成するときにnull値を適切に処理する方法
dom4jを使用してエンティティからXMLドキュメントを作成しています。
私は次のようなことをしています:
ただし、addText()はnull値を許可せず、そうするとIllegalArgumentExceptionをスローします。
エンティティのすべてのフィールドをnullチェックせずにxmlドキュメントを作成する別の方法はありますか?大きなエンティティではかなり厄介になる可能性があります。