0

Java1.6.0を使用しています

Javaで特殊なHTML文字をエンコードする正しい方法を探しています

私のHTML

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

以下のJavaを使用して、上記のdivタグのコンテンツ(この場合はFlorida)としてStringxmlMatchを定義しようとしています。ただし、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));
}   
 }

どんな助けでも大いに活用されます。これにより、以前の関連する質問にここで答えることもできます

編集

ソリューションの回避策

以下で説明するように、私の問題はスラッシュにあると思います。String endTag = "</div";この問題を乗り越えるために、終了タグを次のように変更しました。String endTag = "<";

なぜこれが起こったのかはまだわかりません。誰かが答えてくれたら素晴らしいと思います。

4

1 に答える 1

2

紛らわしい名前のJTidyなどのHTMLパーサーを実際に使用します(これはHTMLのきれいなプリンターですが、HTML構造へのDOMインターフェイスも提供します)。

これにより、文字エンティティの解析や処理、エンコードなどの問題から解放されます。

于 2012-09-05T15:48:25.120 に答える