問題タブ [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 - org.dom4j.DocumentException: ストリームが閉じられましたネストされた例外: ストリームが閉じられました
有効な XML ファイルを解析する場合
しかし、それがなぜなのか、これを説明するJavaドキュメントが見つからない理由はよくわかりません。
このようなものを見たことがありますか?この例外は、次の有効な XML ファイルでスローされます。
java - XML 変換の問題を解決するには?
こんにちは、プロジェクトで Ajax を使用して、選択ボックスの onchange イベントで storename の onselect イベントを使用して、1 つの選択ボックスに製品名をロードしています。ここでは、Java アクション クラスから JSP へのリストを取得するために Ajax を使用しました。Jsp および Action クラスの私のコードは次のとおりです。
結果を取得し、次のように XML にロードするための Action クラスの次のコード。
detailedList には、データベースからストアに関連する製品のリストが含まれています。
アクション クラスに次のパッケージをインポートしました。
org.w3c.dom.Document をインポートします。
org.w3c.dom.Element をインポートします。
org.w3c.dom.Text をインポートします。
com.sun.org.apache.xml.internal.serialize.OutputFormat をインポートします。
com.sun.org.apache.xml.internal.serialize.XMLSerializer をインポートします。
過去 3 週間、正しい機能で問題なく動作します。
しかし、サーバーで次のエラーメッセージをコンパイルして表示していません。
C:\Users\Desktop\Updated\Project\src\main\java\com\action \AjaxAction.java:[199,5] com.sun.org.apache.xml.internal.serialize.XMLSerializer は Sun 独自の API であり、将来のリリースで削除される可能性があります
C:\Users\Desktop\Updated\Project\src\main\java\com\action \AjaxAction.java:[199,32] com.sun.org.apache.xml.internal.serialize.XMLSerialize r は Sun 独自の API です。将来のリリースで削除される可能性があります
私のプロジェクトでは、Struts2、Jsp、Hibernate3 をフロント エンドとして、Mysql サーバーをバック エンドとして使用しています。この問題を解決する方法がわかりません。
誰でもこの問題を解決するのを手伝ってください。前もって感謝します!!!。
java - dom4j - 2 つの条件でノードを選択する
ノード要素を2つの条件で選択したい。例えば:
属性名が「param1」の要素aaaを取得したい。それを行う最善の方法は何ですか?
java - Java Dom4j SAXReaderおよびXMLWriterは、複数の改行を生成します
XMLファイルを読み取り(存在する場合はファイルを作成します)、いくつかのタグを変更してxmlを書き戻す必要があります。私はこれをやっています
と書き戻す
問題は、書き戻すたびに1つの追加の改行が作成されることです。outputFormatの引数をtrueからfalseに切り替えると、改行はまったく書き込まれません。
この問題を回避する簡単な方法はありますか?
どうもありがとうハウケ
junit4 - Lambdajを使用してDom4j要素をナビゲートする
lambdaj(私ではない)に精通している人は、以前にこのスタックトレースまたはいくつかのバリエーションを見たことがあるでしょう。
ch.lambdaj.function.argument.ArgumentConversionException:ch.lambdajのch.lambdaj.function.argument.ArgumentsFactory.actualArgument(ArgumentsFactory.java:92)の有効な引数でプレースホルダーorg.dom4j.tree.AbstractAttributeを変換できません。 function.matcher.HasArgumentWithValue.havingValue(HasArgumentWithValue.java:70)at ch.lambdaj.Lambda.having(Lambda.java:1204)
私の理解では、これは最終クラスでのlambdajの制限によって発生します。
次のコードをテストすると、上記のようになります。
私はdom4jのAttributeインターフェースを使用していて、同じ問題が発生しましたが、おそらくlambdajはインターフェースが好きではないと思いました。そこで、AbstractAttribute抽象クラスに切り替えました。
lambdajと抽象クラスに問題はありますか?それとも私の方法はただのズボンですか?これを解決する方法はありますか?
参考:私はlambdaj2.4とdom4j1.6を使用しています
よろしくお願いします。
xpath - dom4jでxPathを使用する場合のtext()関数の使用
dom4jとxPathを使用してxmlを解析するアプリケーションを継承しました。
解析されるxmlは次のようになります。
個々のノードは、以下を使用して検索されています。
ここで、xmlToParseは、上記の抜粋と同様のxmlの文字列です。
コードは、xPathで提供されたPAGE_IDとTRANS_DETAIL_IDを持つページのGRD_ERRORノードを取得しようとしています。
要求されたノードが検索対象のxmlにあるにもかかわらず、このselectSingleNode要求の断続的な(〜1-2%)失敗(返されたノードがnull)が表示されます。
xPathでtext()=を使用することに関連するいくつかの落とし穴があることを知っており、このタイプの検索用にxPath文字列をフォーマットするより良い方法があるかどうか疑問に思っていました。
java - XML文字をエスケープするベストプラクティス?
Dom4J ドキュメントに変換する html データがあります。
エラーが発生しました:
& amp; にエスケープする必要があったのは文字 "&" でした。ドキュメントを作成するため。
XML では、5 文字 (gt、lt、quot、amp、apos) をエスケープする必要があるようです。
それにもかかわらず、「ノード」要素にエスケープせずに、どうすればエスケープできますか:
与えるべき:
そしてそうではない
ありがとうございました、
java - Dom4j - 要素の行番号
ドキュメント内の要素の行番号を取得する方法を知っている人はいますか?
この情報は、解析されるとおそらく Element に保存されないことを理解しています (私は見ました)が、解析プロセス中に各要素の行番号を取得する方法はありますか? その後、ルックアップを使用して、要素 -> 行番号に移動できます。
hibernate - NoClassDefFoundError: org/dom4j/Element
spring STS 2.9.1.RELEASE、spring roo 1.2.1.RELEASE、hibernate 3.6.9.Final を使用して Web サイトを構築していますが、roo で生成されたテストを実行すると、常に次のエラーが発生します。
私はdom4j.1.6.1をpomに入れましたが、mavenにそれを見つけさせることができません。
私を助けてください。
前もって感謝します!
java - dom4j を使用してキーで xpath を作成する
dom4j 要素を使用するときにキーを使用して xpath を自動的に取得する方法を知っている人はいますか?
説明させてください:
次の xml を指定して、dom4j ドキュメントを作成しました。
element.getUniquePath()
ドキュメントをループして、またはを使用して各要素の xpath を作成できますelement.getPath()
ここまでは順調ですが、十分とは言えません。オブジェクトの順序を事前に知ることはできないため、xpath でキーを使用したいと考えています。
私の質問は、誰かがこれを行う方法を知っているかどうかです。
前もって感謝します。