是的,要先规定
这个写法可以,很有规范
一个是字符一个是文件流
是不是版本不一,引起的
视频中的代码完全可以直接用。。。
jar
你这eclipse还是中文化的。。
代码写获取子节点循环里面了
中间有文本节点,k为0的时候是文本节点,过不了if语句,你看看
用智能显示看看
因为 xml 文本大小会对测试结果有影响
?是用parser解析的
我在API里看了一下Document(org.w3c.dom.Document)发现它是继承Node,而Node下的各个接口(interface)有对应的节点名称(nodeName)、节点值(nodeValue)以及属性(attributes)。
而Document对应的节点名称为"#document",其节点值得到的最终还是null,属性为null。
如果只是将代码中Document的对象直接输出,那么会显示对应的名称以及对应的值。
注:原本调用System.out.println()方法应该是输出Object类中的toString()方法定义的:
getClass().getName() + '@' + Integer.toHexString(hashCode())
但是这里输出的:
[#document: null]
应该是某个父类(估计是NodeImpl类或者其他某个类)中重写的toString()方法
public String toString() {
return "[" + getNodeName() + ": " + getNodeValue() + "]";
}
这里Book对象属性都是String,如果Book对象的属性类型不一样,还是要做判断
对啊 是属性名
JDK版本的问题 把JDK降到1.8以下就没有了
不会吧。。代码没问题。。我用我的程序跑了一遍能够正确打印出。。你可以使用debug看一看每一步语句的值,检查book、booklist是否读了值
i 改成j
和我的问题完全一样啊,解决了吗
怎么了??
抱歉,以查明原因了,是xml文件的问题
嘿嘿嘿嘿嘿嘿嘿
老项目,webservice可能会用到
使用记事本打开你保存在对应盘符的.xml文件—-点击文件—另存为—修改编码方式为UTF-8 —覆盖保存
右击.xml文件选择Properties将那个other里的格式改为 GB2312
characters函数中应该是value =new string(ch,start,length);你看你是不是 写成了String value=new String(ch,start,length);