我正在尝试在我的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);
答案 0 :(得分:0)
您正在创建一个恰好包含需要转义的字符的文本节点(&lt;)。 <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会变得有点乏味。
更新
可能有用的技巧是使用String操作创建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>