次のコードを実行すると:
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import javax.swing.text.BadLocationException;
import javax.swing.text.EditorKit;
import javax.swing.text.Element;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
.
.
.
String content = "x";
String html = "<html><body><dyn/>" + content + "<dyn/></body></html>";
final Reader reader = new StringReader(html);
final EditorKit editorKit = new HTMLEditorKit();
HTMLDocument hTMLDocument = new HTMLDocument();
editorKit.read(reader, hTMLDocument, 0);
Element defaultRootElement = hTMLDocument.getDefaultRootElement();
Element branchElement = defaultRootElement.getElement(1).getElement(0);
for (int i = 0; i < branchElement.getElementCount(); i++) {
Element element = branchElement.getElement(i);
System.out.print(element);
}
次の出力が得られます。
LeafElement(dyn) 1,2
LeafElement(content) 2,3
LeafElement(dyn) 3,4
LeafElement(content) 4,5
ただし、 の値を に変更すると、次のようになりcontent
ます" "
。
String content = " ";
私はこの出力を得る:
LeafElement(dyn) 1,2
LeafElement(dyn) 2,3
LeafElement(content) 3,4
コンテンツが 向けにLeafElement
構築されているのに、 向け"x"
に構築されていないのはなぜ" "
ですか? LeafElement
のために を構築したい" "
。私は何か間違ったことをしていますか、それとも問題ですHTMLDocument
かHTMLEditorKit
?