-2

我正在尝试在我的 JAVA 代码中创建一个 XML 文档。

此 XML 中的标签之一包含 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

您正在创建一个恰好包含需要转义 (<) 的字符的文本节点。<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 回答