アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、JAVAのXML/DOMを利用して
XMLを生成してタグ、インデントを含めそのまま
WEBブラウザに出力するようにしたいと思っていますが、
この場合、XMLのタグがWEBブラウザでタグと認識され、除去されてしまいます。
XMLのタグを除去せず、そのまま画面に表示することは可能でしょうか?
可能であれば、その方法を教えていただけませんか?
宜しくお願いします。

今書いているコード

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;

builder = factory.newDocumentBuilder();

DOMImplementation domImpl = builder.getDOMImplementation();
Document document = domImpl.createDocument("","test",null);

Element test = document.getDocumentElement();


Element aiueoNode = document.createElement("AAA");
Element abcdeNode = document.createElement("BBB");

aiueoNode.appendChild(document.createTextNode("あいうえお");
abcdeNode.appendChild(document.createTextNode("ABCDE");

test.appendChild(aiueoNode);
test.appendChild(abcdeNode);


TransformerFactory tf = TransformerFactoryImpl.newInstance();
tf.setAttribute(TransformerFactoryImpl.INDENT_NUMBER, "2");

Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");

PrintWriter out = new PrintWriter(response.getOutputStream(), true);

StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);

DOMSource source = new DOMSource(document);
transformer.transform(source, result);

/**XMLを文字列にして出力**/
out.println(writer.toString());

現在IE出力例は「あいうえおABCDE」ですが、下記のように出力したいです。

「<test>
    <AAA>あいうえお</AAA>
    <BBB>ABCDE</BBB>
</test>」

宜しくお願いします。

java:1.6/tomcat:6.0/IE:8

A 回答 (1件)

ブラウザの仕様だから仕方ないわ。



XMLを表示する前に
タグの
<を&lt;に、
>を&gt;に
すべて置換する必要があるわ。

もしくは、HTTPのレスポンスのヘッダで
content-typeをtext/plain
って指定してあげるといいわ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!