0

我正在使用 Java 1.6.0

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

我的 HTML

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

我正在尝试使用以下 Java 将 String xmlMatch 定义为上述 div 标记的内容(在本例中为佛罗里达州)。但是我相信我没有正确定义我的 startTag 或 endTag。

我的爪哇

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));
}   
 }

任何帮助都非常有用。这也可以让我在这里回答以前的相关问题

编辑

解决方案

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

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

4

1 回答 1

2

我真的会使用一个 HTML 解析器,例如名称混乱的JTidy(它是一个 HTML 漂亮的打印机,但也为您提供了一个 HTML 结构的 DOM 接口)。

它将使您免于诸如解析和处理字符实体和编码之类的头痛。

于 2012-09-05T15:48:25.120 回答