-2

Java コードで XML ドキュメントを作成しようとしています。

この XML のタグの 1 つには、値として他のテキストと共に HTML 太字タグが含まれています。

この XML がブラウザーでレンダリングされるときに、HTML タグが保持されるようにしたいと考えています。

今のところ、出力にエスケープ文字が表示されます。

Document suggesterDoc = DocumentHelper.createDocument(); 
Element suggesterDocRoot =   DocumentHelper.createElement("Response"); 
String modifiedSearchQuery = "<b>" + "test" + "</b>"; 
Element title = DocumentHelper.createElement("title"); 
title.setText(modifiedSearchQuery); 
4

1 に答える 1

0

エスケープする必要のある文字 (<) を含む Text ノードを作成しています。<b>タグElementも.

Document suggesterDoc = DocumentHelper.createDocument(); 
Element suggesterDocRoot =   DocumentHelper.createElement("Response"); 
Element title = DocumentHelper.createElement("title"); 
Element bold = DocumentHelpr.createElement("b");
b.setText("test");
title.add(b); 

これは機能しますが、この方法で HTML を作成するのは面倒です。

アップデート:

機能する可能性のあるトリックは、文字列操作を使用して HTML テキストを作成し、それをドキュメントに解析して、要素をターゲット ドキュメントに転送することです。このようなもの:

Document doc = new DefaultDocument();
doc.add(new DefaultElement("body"));

Document fragment = DocumentHelper
        .parseText("<p>Some inline text with <b>highlighted</b> content</p>");
doc.getRootElement().add(fragment.getRootElement());
System.out.println(doc.asXML());

これは次を印刷します:

<?xml version="1.0" encoding="UTF-8"?>
<body><p>Some inline text with <b>highlighted</b> content</p></body>
于 2013-06-26T08:38:50.633 に答える