問題タブ [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:すべての要素を次のようにラップしますタグ
基本的に、//*
xpathを使用してすべての要素を選択し、<any>
要素タグをすべての要素にラップしたいと思います。
java - JtreeModelの更新は機能しませんが、Jtreeはそれに応じて更新されます
org.dom4j.swing.DocumentTreeModelを使用して、解析されたDOMドキュメントからSwingJtreeを構築しています。treeModelの作成元のドキュメントを編集するとき、JtreeはtreeModel.reload()によってこれをすぐに反映することを期待しています。
問題は、Jtreeが最初に完全に折りたたまれ、次にツリーをクリックして展開されると、3つの「テスト」要素が表示されることです。ただし、この時点で、テスト要素を追加すると、この変更は反映されなくなります。Jtreeスイングが折りたたまれた状態の場合、ツリーに「テスト」要素を追加することによって行われた変更を反映できますが、Jtreeスイングが展開された場合は反映できません。
スイングJTreeが開いているかどうかに関係なく、より多くの「テスト」要素がリアルタイムで追加されることを完全に期待していました。
java - dom ツリーの最初の子の前に新しいノードを追加する
これはおそらく対処するのが最も簡単なことの1つですが、何らかの理由で私にとってはうまくいきません. dom ツリーのルートの後に新しいノードを追加しようとしています。
元の文字列は次のとおりです。
前に文字列の形式の新しいノードを追加しようとしています。最終バージョンは次のようになります。
ご覧のとおり、ルート div クラスの直後に新しいTest Valが追加されています。ノードを適切な場所に配置するためにいくつかの方法を使用しましたが、最後に追加されます。
これは、以前の投稿の 1 つから参照したサンプルです。
これにより、ノードが最後に追加されます。insertBefore() を使用してみましたが、うまくいきませんでした。
どんな指針も高く評価されます。
ありがとう
java - dom4jドキュメントオブジェクトを文字列に変換する方法
Dom4J Document コンテンツを String に変換する方法を見つけようとしています。コンテンツを XML に変換するasXML() API があります。私の場合、Dom4J を使用して非 xml DOM 構造を編集し、コンテンツを文字列に変換しようとしています。w3cドキュメントの場合に可能であることは知っています。
任意のポインタをいただければ幸いです。
ありがとう
java - 最後に変更された領域でJtreeを展開しますか?
dom4jを使用して、dom4jドキュメントからDocumentTreeModelを作成しています。
このDocumentTreeModelをの中に表示しますJScrollPane
。
dom4jドキュメントに新しいノードを追加し、DocumentTreeModelを再作成するボタンがあります
getPathForRowを使用していますが、これはかなり制限されているようです。複数の木の深さで作業できる必要があります。基本的に次のようなものを探していますtree.getPathOfLastModifiedChildrensParent()
基本的にJtree
、ドキュメントを編集するたびにドキュメントを再描画するようにしています。
java - ドキュメント内のdom4jXML宣言
dom4jドキュメントタイプからXML宣言を削除する必要があります
私はによってドキュメントを作成しています
DocumenHelperによってドキュメントドキュメントに解析された文字列にXML宣言が含まれていません(XML => XSL => XML変換から取得されます)DocumentHelperがドキュメント本体に宣言を追加していると思いますか?
の本文からXML宣言を削除する方法はありますか
java - JTreeでクリックされたノードの基になるノードデータを取得しますか?
基本的に、dom4j ライブラリを使用して DefaultTreeModel を JTree にレンダリングしています。DefaultTreeModel は XML ドキュメントを解析します。各 XML ノードには、属性、名前、ID などの情報が含まれています。
基本的に、この Jtree に actionlistener を追加します。属性、名前などのノードの情報を含む、基になる DefaultTreeModel ノードにアクセスしたいと思います。
java - Java: Jtree が展開されたノードまたは折りたたまれたノードを持っている場合、getRowForLocation() は異なる行 int を返します
JTree jtree
マウスリスナーが接続されています。ユーザーがJtreeコンポーネントノードをクリックすると、行整数を取得します
問題は、展開されている jtree ノードがある場合と折りたたまれている場合で、返される行整数が異なることです。
混乱がないように、クリックされた各 jtree ノードの一意で絶対的な ID を取得する方法が必要です。
Jtree コンポーネントにデータを追加する方法はありますか?
それ以外の場合は、ノードが展開されたときにリッスンし、上記の関数から返された行を再計算する方法が必要です....
dom4j - DOM4J createQuery が熱心にフェッチしない
OneToMany 関係を含むエンティティがあり、熱心なフェッチがあり、2 番目のエンティティがあります。この 2 番目のエンティティには、3 番目と 4 番目のクラスへの 2 つの OneToOne 関係があり、熱心なフェッチも行われます。OneToOne 関係は一方向です。
「エンティティから」を HQL として送信する DOM4J セッションから createQuery() を呼び出しています。リターンでは、2 番目のエンティティを取得しますが、完全なコンテンツではなく、3 番目と 4 番目のエンティティの ID のみが含まれています。私には、これらの 3 番目と 4 番目のエンティティが熱心にフェッチされていないように見えます。コードを正確に再現することはできませんが、最も関連性の高い部分を次に示します。
最後に、クエリに使用しているコードを次に示します。
前述したように、このクエリから、info および results テーブルから取得される実際のデータではなく、info および results テーブルのキーである info および results の値の整数が返されます。
関連情報:
- 春 2.5.4
- 休止状態 3.2.6
- Hibernate アノテーション 3.3.1.GA
- dom4JSessionFactory はタイプ org.springframework.orm.hibernate3.LocalSessionFactoryBean です
- エンティティ「イベント」は、実際にはクラス階層の 7 番目のクラスです (これが重要かどうかはわかりません)。
必要がないことを願って、多くの情報を省略しました。それが機能しない理由について推測する必要があるものが他にある場合は、私に知らせてください。
soap - JavaでSOAP応答メッセージからデータを解析する方法
Dom4j を使用して SOAP メッセージを解析しています。問題がありました:
Node node = document.selectSingleNode( "/*/soapenv:Envelope/soapenv:Body/ns:addResponse" );
上記の XPath を使用すると、次の例外が発生しました:
Exception: XPath expression uses unbound namespace prefix ns1
これを行う方法を見つけました: 名前空間を削除しますが、これはお勧めできません。
どんな助けでも大歓迎です。ところで
、この作業のためのより良い方法またはツールキットはありますか?