【发布时间】:2016-09-30 11:43:17
【问题描述】:
我正在使用 Java 创建一个 XML 编辑器,并且我正在使用 JTextPanes 来显示 XML 的内容.
JTextPanes 的内容类型是 "text/html" 所以它跳过了我想要出现的所有 XML 标记窗格。
这是 JTextPane 类的大部分内容:
public class Label extends JTextPane {
private static final long serialVersionUID = 6151945111760925061L;
public Label(String text) {
setContentType("text/html");
setText(StringOperations.toHtml(text));
setEditable(false);
setBackground(null);
setBorder(null);
setFont(new Font("Eras Bold ITC", Font.PLAIN, 11));
}
}
这是将纯文本转换为html的方法。
public static String toHtml(String text) {
return ("<html>" + text + "</html>");
}
例如,当我插入时:
"<resource>4</resource>"
输出是"4"。
我想要的是输出
"<resource>4</resource>"。
我试过了:
return ("<html>" + text.replace("<","/<") + "</html>");
return ("<html>" + text.replace("<","\"<\"") + "</html>");
但标签仍然不可读。
您能告诉我如何逃脱 '<' 和 '>' 字符吗?
【问题讨论】:
-
您正在执行一项相当高级的任务。您至少应该通读 HTML 规范,包括 HTML Document Representation - Character Entity References。
标签: java html xml tags jtextpane