Java dom4j:在输出xml中保留html标记
我试图在JAVA代码中创建一个XML文档 此XML中的一个标记包含HTML粗体标记以及其他文本作为其值 我希望确保在浏览器中呈现此XML时,保留HTML标记 到目前为止,我在输出中看到转义字符Java dom4j:在输出xml中保留html标记,java,html,dom4j,Java,Html,Dom4j,我试图在JAVA代码中创建一个XML文档 此XML中的一个标记包含HTML粗体标记以及其他文本作为其值 我希望确保在浏览器中呈现此XML时,保留HTML标记 到目前为止,我在输出中看到转义字符 Document suggesterDoc = DocumentHelper.createDocument(); Element suggesterDocRoot = DocumentHelper.createElement("Response"); String modifiedSearchQu
Document suggesterDoc = DocumentHelper.createDocument();
Element suggesterDocRoot = DocumentHelper.createElement("Response");
String modifiedSearchQuery = "<b>" + "test" + "</b>";
Element title = DocumentHelper.createElement("title");
title.setText(modifiedSearchQuery);
您正在创建一个文本节点,该节点恰好包含需要转义的字符,感谢您的响应。但是我的搜索字符串可以有多个单词,例如,如果字符串是:testing by tester,那么我只需要用html粗体标记包围子字符串测试,正如我所说的,以这种方式创建html不是最优的。有人能帮我吗?我试图找到解决办法,但没有成功。我在回答中添加了一个替代建议。您好,谢谢您的替代方法。这部分起作用。当使用类似字符串的高亮显示内容时,会引发文档异常。似乎它也希望字符串内容有一个开始和结束标记
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);
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>