Websphere Message Broker を介して XML ファイルを受信しましたが、それを Java で処理すると、フォーマットされていないファイルが出力されます。
XML 入力ファイル:
<?xml version="1.0" encoding="UTF-8"?>
<article href="http://www.ensa-agadir.ac.ma/arti234">
<titre>application de web sémantique</titre>
<nombrePages>12</nombrePages>
<auteur rond="principale">
<nom>Hassani</nom>
<prenom>Jamal</prenom>
<etablissement>Ensa-Agadir</etablissement>
</auteur>
</article>
Java 計算 (メッセージ処理用) :
MbMessage outMessage = new MbMessage();
MbMessageAssembly outAssembly = new MbMessageAssembly(assembly, outMessage);
MbElement omroot = outMessage.getRootElement();
MbElement xmlnsc = omroot.createElementAsLastChild ("XMLNSC");
MbElement valueEl = xmlnsc.createElementAsFirstChild(MbElement.TYPE_VALUE, "VALUE",
new String ((byte[])message.getRootElement ().getFirstElementByPath("/BLOB/BLOB").getValue()));
out.propagate(outAssembly);
XML 出力ファイル:
:引用符や<や>などの utf-8 文字を認識していないようなので、受信ファイルをテキストに変換すると問題が解決すると思います。しかし、それを行う方法、またはそれが最善の解決策であるかどうかはわかりません。
これについて何か考えはありますか?ありがとうございました :)
編集:メッセージはエスケープするだけでなく、変換して出力に適切にエンコードする必要があります。