断点值为空
老师,为什么我在ps设置断点的时候,除了id和name其他都为空,但是我用getPrice方法还是能读取到值的

相关代码:
package com.imooc.mgallery.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import com.imooc.mgallery.entity.Painting;
/**
* 数据源类,用于将xml文件解析为java对象
*/
public class XmlDataSource {
//通过static静态关键字保证数据全局唯一。也可以用单例模式来保证对象全局唯一
private static List<Painting> data=new ArrayList();
private static String dataFile;
//初始化
static {
//getpat会对路径进行base64转换,eg空格被转换为%20,如果javaio读取时,%20不会被解析,就会报错找不到路径
URLDecoder decoder=new URLDecoder();
try {
//得到classes的根路径,找到对应的painting.xml,用getpath得到painting.xml完整的物理磁盘地址
dataFile=XmlDataSource.class.getResource("/painting.xml").getPath();
System.out.println(dataFile);
decoder.decode(dataFile,"UTF-8");
//利用Dom4j对XML进行解析,SAXReader为dom4j核心对象,解析对象
SAXReader reader =new SAXReader();
//1、获取document文档对象
Document document=reader.read(dataFile);
//2、xpath得到xml节点集合,在xml中painting节点隶属于root
List<Node> nodes=document.selectNodes("/root/painting");
//node 是所有xml节点的统称,element则通常指的xml中的标签,及标签中所指代的信息
for(Node node:nodes) {
Element element=(Element)node;
String id=element.attributeValue("id");
String pname=element.elementText("pname");
String categroy=element.elementText("category");
String price=element.elementText("price");
String preview=element.elementText("preview");
String description=element.elementText("description");
System.out.println(id+":"+pname+price+preview);
Painting painting=new Painting();
painting.setId(Integer.parseInt(id));
painting.setPname(pname);
painting.setCategroy(Integer.parseInt(categroy));
painting.setPrice(Integer.parseInt(price));
painting.setPreview(preview);
painting.setDescription(description);
data.add(painting);
System.out.println(painting.getPrice());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static List<Painting> getRawData(){
return data;
}
public static void main(String[] args) {
List<Painting> ps =XmlDataSource.getRawData();
System.out.println(ps);
}
}
8
收起
正在回答 回答被采纳积分+1
1回答
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星