首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Set<Defect>中获取w3c验证器中的一些信息

如何从Set<Defect>中获取w3c验证器中的一些信息
EN

Stack Overflow用户
提问于 2013-03-03 11:53:04
回答 1查看 123关注 0票数 2

如何在这段代码中获得一些信息(列、行、消息)?

代码语言:javascript
复制
String xhtml = "<html><body><p>Hello, world!<p></body></html>";
ValidationResponse response = new ValidatorBuilder().html().validate(xhtml);
if (!response.valid()) 
{
    Set<Defect> errors = response.errors();
    //... what write at this place?
    System.out.println(errors[0].column() + " " + errors[0].source());
}

我试着写成:

代码语言:javascript
复制
String xhtml = "<html><body><p>Hello, world!<p></body></html>";
ValidationResponse response = new ValidatorBuilder().html().validate(xhtml);
 if (!response.valid()) 
 {
     Set<Defect> errors = response.errors();
     Defect[] errorsArray = (Defect[]) errors.toArray();
     System.out.println(errorsArray[0].column() + " " + errorsArray[0].source());
 }

但要破例:

线程"main“java.lang.ClassCastException中的异常:[Ljava.lang.Object;不能转换为[Lcom.rexsl.w3c.Defect;at HTMLValidator.main(HTMLValidator.java:17) ]

EN

回答 1

Stack Overflow用户

发布于 2014-01-04 17:53:38

toArray()返回一个Object[]。如果您想要一个Defect[],您应该使用重载版本:

代码语言:javascript
复制
String xhtml = "<html><body><p>Hello, world!<p></body></html>";
ValidationResponse response = new ValidatorBuilder().html().validate(xhtml);
if (!response.valid()) 
{
    Set<Defect> errors = response.errors();
    Defect[] errorsArray = errors.toArray(new Defect[errors.size()]);
    System.out.println(errorsArray[0].column() + " " + errorsArray[0].source());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15185358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档