java - 在 Java 中对特殊 HTML 字符 < >/"进行编码

标签 java html

我使用的是Java 1.6.0

我正在寻找在 Java 中编码特殊 HTML 字符的正确方法

我的 HTML

 <div id="sliceXML">Florida</div>

我正在尝试使用下面的 Java 将 String xmlMatch 定义为上述 div 标签的内容(在本例中为 Florida)。但是我相信我没有正确定义 startTag 或 endTag。

我的Java

String testContent = contentPara;
String startTag = "\"sliceXML\">";                      
String endTag = "</div";                                        
String xmlMatch = null; 

int startPosition = testContent.indexOf(startTag);  

if(startPosition >1){

    int subStringIndex = startPosition + startTag.length();                                 
    int endPosition = testContent.indexOf(endTag, subStringIndex);              

    if(endPosition >= startPosition){
        xmlMatch = testContent.substring(subStringIndex, endPosition);
        out.println(xmlMatch.length()); 

    //out.println(startTag);

    out.println("Florida".equals(xmlMatch));
    out.println("florida".equals(xmlMatch));
}   
 }

任何帮助都非常有用。这也让我能够回答之前的相关问题 here

编辑

解决方案

正如我在下面解释的,我相信我的问题是 String endTag = "</div"; 中的正斜杠为了解决这个问题,我只是将结束标记更改为 String endTag = "<";

我还是不知道为什么会这样,如果有人能回答就太好了。

最佳答案

我真的会使用 HTML 解析器,例如名称容易混淆的 JTidy (它是一个 HTML pretty-print ,但也为您提供了 HTML 结构的 DOM 接口(interface))。

它将帮助您摆脱诸如解析和处理字符实体以及编码之类的麻烦。

关于java - 在 Java 中对特殊 HTML 字符 < >/"进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285142/

相关文章:

java - 单点注销配置文件 Idp 注销问题

java - Android中如何设置播放歌曲的持续时间?

java - 如何使用不同的参数同时启动同一个 spring-batch 作业?

html - 重新设计一个旧的 wwwboard 网站 : How to factor out navigation bar without changing . html 扩展名?

javascript - HTML 图像翻转 - 翻转前图像未完全加载?

php - 如何将动态谷歌地图添加到我的网站?

java - 对象 == null 与 boolean == false

java - 创建一个列表,添加一个元素并在一条语句中将其返回给调用者

javascript - 将类添加到具有选定名称属性的所有元素

html - 为什么此页面上的布局 div 关闭得这么早,为什么布局如此损坏?