我想用Sax Parser解析这个文本,问题是由于内容标签中的Html标签字符串缓冲区不会读取Html标签可以任何人建议我如何用Sax Parser做,或参考我使用SAX解析Html数据的任何链接
答案 0 :(得分:2)
如果您可以修改自己提供的文字,只需使用CDATA:
即可<content><![CDATA[Your stuff here with all the <em>HTML</em> tags you can think of.]]></content>
然后SAX Parser的toString()
将返回如下字符串:Your stuff here with all the <em>HTML</em> tags you can think of.
答案 1 :(得分:2)
您可以使用此方法将CDATA放入数据中(参数DATA:实际数据;标签:需要放置CDATA的XML标签名称。)
public static final String putCDATA(String data, String tag) {
if(data == null || data.length() <= 0 || tag == null || tag.length() <= 0) {
return null;
}
String newData = "";
while(true) {
int firstIndex = data.indexOf("<" + tag + ">");
firstIndex = firstIndex + new String("<" + tag + ">").length() - 1;
int lastIndex = data.indexOf("</" + tag + ">");
if(firstIndex == -1 || lastIndex == -1) {
break;
}
String tagValue = data.substring(firstIndex + 1, lastIndex);
tagValue = "<![CDATA[" + tagValue + "]]>";
newData += data.substring(0,firstIndex + 1);
newData += tagValue;
newData += data.substring(lastIndex, lastIndex + new String("<" + tag + ">").length() + 1);
data = data.substring(lastIndex + new String("<" + tag + ">").length() + 1, data.length());
}
newData += data;
System.out.print("FORMATED: " + "\n" + newData);
return newData;
}
答案 2 :(得分:1)
HTML文件不符合XML。