問題タブ [xmlencoder]
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 - XMLEncoderとPersistenceDelegate
XMLEncoder
オブジェクトグラフ(私の場合はツリー)をファイルに書き込もうとしています。ただし、それに含まれる1つのクラスは実際にはJava Beanではなく、その内臓を公にアクセス可能にすることは特に好きではありません。リストのようにアクセスされ、適切なadd
/remove
メソッドがあります。
私はすでにPersistenceDelegate
それに対処するための習慣を書きました。PersistenceDelegate
ただし、XMLEncoder
インスタンスに手動で追加する必要があるようです。
それを単独で取得する方法はありますか、XMLEncoder
またはエンコーダーを使用して上記のクラスを含む可能性のあるグラフを作成するたびに、本当に追加する必要がありますか?
java - このエラーが発生したのはなぜですか: java.lang.Exception: XMLEncoder: ステートメント Vector.add() を破棄していますか?
私のJavaプログラムは次のようになります:
// =============================================== =======================
// =============================================== =======================
次のエラー メッセージが表示されました。
java.lang.Exception: XMLEncoder: ステートメントを破棄しています Vector.add(Contact_Info_Entry); 続けています... java.lang.Exception: XMLEncoder: ステートメントを破棄しています Vector.add(Contact_Info_Entry); 続けています... java.lang.Exception: XMLEncoder: ステートメントを破棄しています Vector.add(Contact_Info_Entry); 続けています... java.lang.Exception: XMLEncoder: ステートメントを破棄しています Vector.add(Contact_Info_Entry); 続行中... スレッド「Thread-8」で例外 java.lang.NullPointerException at java.beans.XMLEncoder.outputStatement(XMLEncoder.java:611) at java.beans.XMLEncoder.outputValue(XMLEncoder.java:552) at java. beans.XMLEncoder.outputStatement(XMLEncoder.java:682) で java.beans.XMLEncoder.outputStatement(XMLEncoder.java:687) で java.beans.XMLEncoder.outputValue(XMLEncoder.java:552) で java.beans.XMLEncoder で。
ベクトルを扱えないようですが、なぜですか?何か間違っていますか?それを修正する方法?
フランク
java - XMLEncoderはゼロ値をエンコードしません
値0の短整数をエンコードしていますが、XMLEncoderはそれをエンコードしません。
どうすれば強制できますか?
java - リストメンバーを使用してオブジェクトをシリアル化する
次のクラスが与えられます:
次のコードを実行すると:
'test.xml'を確認すると、コンテナオブジェクトのデータのみがあり、リスト内のSomeDataオブジェクト(つまり、文字列 "data1"& "data2")には何もありません。
'container'と'container'内のリストに格納されているSomeDataオブジェクトをシリアル化するにはどうすればよいですか?
java - Eclipse での「java.beans.XMLEncoder のインポート」の問題
XMLEncoder を使用して、C# サーバーでさらに逆シリアル化する必要がある Android アプリの Java オブジェクトをシリアル化しようとしています。
Eclipse で XMLEncoder をインポートするには、次を使用します。
このインポート行で得られるエラーは次のとおりです。
Plsは提案をします。
xml-serialization - java1.6.xから1.7.xに移行した後のXMLEncoderの動作の変更
Java 7でコードの一部を再コンパイルし、テストを開始しました。すぐに、オブジェクトをxmlにシリアル化するために使用したメカニズムが機能しなくなったことに気付きました。幸い、このシリアル化は一時的なセッションストレージを目的としているため、古いシリアル化されたXMLをすべて削除し、 XMLEncoderの代わりにxstreamを使用して最初から始めることができます。
Java7に同梱されているXMLEncoderで何が間違っていたのか、何が変わったのか知りたいです。
B.java:
A.java:
java 1.6.xでAを実行すると、次のようになります。
java 1.7.0_01でAを実行すると、次のようになります。
ご覧のとおり、出力にはHashSethフィールドのトレースは含まれていません。
私はいくつかのグーグルを行いましたが、これまでのところ、私が見つけた唯一の同様のケースはこの投稿であり、他には何もありません。
ヒントを事前に感謝します。
java - XMLEncoder で UUID をシリアライズする
XMLEncoder を使用して、オブジェクト グラフを XML ファイルに書き込みます。UUID プロパティ (私の JavaBean にidという名前があります) を除いて、それは正常に動作します。それを行うには PersistenceDelegate が必要であることを知っています。私は次のものを書きました:
それをエンコーダに設定します。
実行時にencoder.writeObject(...)を呼び出すと、次の例外が発生します。
java.lang.IllegalArgumentException: 無効な UUID 文字列: id
これを機能させる方法を知っている人はいますか?
java - INetAddressをxmlにエンコードできません
クラスを使用して、タイプINetAddressのメンバーを持つオブジェクトをxmlにエンコードしようとしていますjava.beans.XMLEncoder
。残念ながら、次の例外が発生します。
java.lang.IllegalAccessException:クラスsun.reflect.misc.Trampolineは、修飾子""を使用してクラスjava.net.Inet4Addressのメンバーにアクセスできません。
これが私のコードです:
java - XMLEncoder-オブジェクトの書き込み中に値を設定します
オブジェクトをXMLに書き込む必要があるため、XMLEncoderを使用しますが、このオブジェクトの変数の1つ(文字列)を暗号化する必要があります。書き込み中にオブジェクトをキャプチャしてから値を置き換えることは可能ですか(ただし、オブジェクトに値を設定しないでください)。
java - XMLEncoderJavaバージョン
XMLEncoderを使用してJGraphオブジェクトをXML形式にエンコードします。テストには2台のマシンを使用しますが、どちらもcmdjava-versionで確認したものと同じJavaバージョンです。
ただし、次のように2台のマシンからこれらのXMLヘッダーを取得します。マシン1:
マシン2:
Javaのバージョンが異なる理由を誰もが知っていますか?私がこの質問をする理由は、私の次の問題の根本的な原因であると思われるからです。その後、XMLDecoderを使用してJGraphオブジェクトをデコードします。ただし、graphModelは私に異なる結果を与えます
マシン1ではobjs
、、length = 1
マシン2objs
ではlength = 0
。誰かが何か考えを持っていますか?それはJavaバージョンの問題ですか?