ark*_*ath 2 html java string parsing compare
这是代码的有用部分:
java.util.List<Element> elems = src.getAllElements();
Iterator it = elems.iterator();
Element el;
String key,value,date="",place="";
String [] data;
int k=0;
Segment content;
String contentstr;
String classname;
while(it.hasNext()){
el = (Element)it.next();
if(el.getName().equals("span"))
{
classname=el.getAttributeValue("class");
if(classname.equals("edit_body"))
{
//java.util.List<Element> elemsinner = el.getChildElements();
//Iterator itinner = elemsinner.iterator();
content=el.getContent();
contentstr=content.toString();
if(true)
{
System.out.println("Done!");
System.out.println(classname);
System.out.println(contentstr);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
没有输出.但是,如果我删除if(classname.equals("edit_body"))
它打印的条件(在其中一个迭代中):
Done!
edit_body
"I honestly think it is better to be a failure at something you love than to be a success at something you hate."
Run Code Online (Sandbox Code Playgroud)
无法得到bug部分...帮助!
我正在使用外部Java库BTW进行html解析.
BTW在输出开始时有两个错误,在两种情况下都存在,有或没有条件:
Dec 20, 2012 11:53:11 AM net.htmlparser.jericho.LoggerProviderJava$JavaLogger error SEVERE: EndTag br at (r1992,c60,p94048) not recognised as type '/normal' because its name and closing delimiter are separated by characters other than white space
Dec 20, 2012 11:53:11 AM net.htmlparser.jericho.LoggerProviderJava$JavaLogger error SEVERE: Encountered possible EndTag at (r1992,c60,p94048) whose content does not match a registered EndTagType
Run Code Online (Sandbox Code Playgroud)
希望不会导致错误
好的伙计们,请有人解释一下!"edit_body".equals(el.getAttributeValue("class"))工作!!
ldo*_*oni 10
我现在有完全相同的问题.
我成功地通过使用:解决它SomeStringVar.replaceAll("\\P{Print}","");
.
此命令删除变体中的所有Unicode字符(您无法看到的字符 - 字符串看起来相同,即使它们不相等).
我在均衡中需要的每个变体上使用此命令,它也适用于我.
看起来你有领导或尾随 空格在你的classname
.
试试这个: -
if(classname.trim().equals("edit_body"))
Run Code Online (Sandbox Code Playgroud)
这将修剪末尾的任何空格.