我通过 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 字符一样:引号或<和>等...所以我认为将传入的文件转换为文本将解决问题。但我不知道该怎么做,或者它是否是最好的解决方案。
你对此有什么想法吗?谢谢 :)
编辑:消息不应该只是被转义,它应该被转换并很好地编码到输出中。