增加分类显示乱码,删除分类无法获取到List

增加分类显示乱码,删除分类无法获取到List

# 具体遇到的问题
增加分类显示是乱码,但是我们不是已经设置了字符过滤器。

删除分类在XML中,List<Node> nodes = document.selectNodes("/root/category[@no="+categoryId+"]");

一直获取不到数报java.lang.RuntimeException: 未找到对应id:ca003的分类异常

代码为xml中的删除方法

# 报错信息的截图
http://img1.sycdn.imooc.com//climg/5fdcf7650969c9e412970337.jpg

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

 public static void deleteCategory(String categoryId) {

SAXReader reader = new SAXReader();

Writer writer = null;

try {

Document document = reader.read(categoryDataFile);

System.out.println("Xml调用删除成功"+categoryDataFile);

List<Node> nodes = document.selectNodes("/root/category[@no="+categoryId+"]");

if(nodes.size() == 0) {

throw new RuntimeException("未找到对应id:"+ categoryId +"的分类");

}

Element p = (Element) nodes.get(0);

System.out.println(p.elementText("no"));

p.getParent().remove(p);

writer = new OutputStreamWriter(new FileOutputStream(categoryDataFile),"UTF-8");

document.write(writer);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

if(writer != null) {

try {

writer.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

reloadCategory();

}

 

}

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2020-12-19 14:51:01

同学你好,如果<no>是标签<no>1</no>,而不是属性,同学如下查询分类的条件书写错误,不能有@。使用@是查询属性的意思。

http://img1.sycdn.imooc.com//climg/5fdda265096a9cfc06120063.jpg

题目要求对分类id进行正则校验,要求必须是数字。如果同学没有使用数字格式,不符合题目要求,作业批复时,会扣除相应的分数。

祝学习愉快~


好帮手慕阿满 2020-12-19 10:07:42

同学你好,乱码问题,建议同学查看一下是否对过滤器进行了配置,请求是否经过了过滤器配置。

另外问一下同学分类的xml文件中,分类id是属性,而不是标签吗?例如如下这种形式。

<category  no="ca001">
<categoryName>计算机类</categoryName>
</category>

如果不是属性,获取的方式需要修改一下。​

在分类管理中,要求分类id进行正则校验,要求为数字,如:

http://img1.sycdn.imooc.com//climg/5fdd5f4509f4237f04970098.jpg

建议同学修改一下再试试。

祝学习愉快~

  • 提问者 幕布斯2414477 #1

    我把no放在标签上了。分类id不是ca001吗?我看不是数字的格式。

    2020-12-19 14:00:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师