你这eclipse还是中文化的。。
也可以在你的XML文件中改编码,encoding=“UTF-8”
判断写错了,是“”,而不是“ ”,中间没有空格。
你可以输出ch看一下它的结构,他是由一推空格和一堆标记还有文字组成,从头解析,遇到标记理解为一组,遇到一堆空格理解为一组,现在是要排除掉空格组,以免错误输出或者null执行。String.trim()是去掉首尾所有的空格,一堆空格去掉了所有的空格当然就没有东西了,所以是“”!,判断中用了(!非),也就是,不是没有内容的字符,剩下的当然就是有效的(需要的)了。
然并卵
当然可以,只不过你要想招reutrn,不然无限循环,相当于直接死机。
一个字符串使用trim方法 :
将字符串的第一字符开始,向后移动,当遇到不是空格的时候停止
字符串最后一个字符开始,向前移动,当遇到不是空格的时候停止
省略掉中间字符串 前后的空格, 截取中间的字符串
很有想法!!
排除了“”,当然就不会输出咯!
除非你能想到个好办法来规避空格的同时规避其他空格情况。
要是什么都不知道,就换回讲师讲的docment方式去读,不需要你知道节点名,只要自己做判断是否还有根节点就好。
value里面可不知道有多少个空格,你让他判断是否等于一个空格明显没用
有一种情况不好解决:就是标签内部还有些"标签文本"也被解析了,有没有什么办法忽略某个标签下面的全部标签?
就是字符串去除字符串最左边和最右边的空格
如String i = new String(" 123 123 ");//字符串最左边,最右边以及中间各有2个空格
System.out.println(i);
System.out.println(i.length());
System.out.println(i.trim());
System.out.println(i.trim().length());
输出的结果为:
123 132
12
8
123 132
因为trim()方法去除了字符串最左边,最右边的空格,所以字符串长度少了4,
注:trim()方法无法去除字符串中间的空格
这个还暂时没有遇到过是不是你安装的时候有什么问题呢
会报错
1 遇到<?xml version="1.0" encoding="UTF-8"?>,则自动调用startDocument()
2 接着,凡是遇到开始标签<>,则先自动调用startElement()
3 如果解析标签后,标签内有内容,则自动调用characters()
4 如果解析标签后,标签内还有标签,也是像第二步一样调用startElement()。
上述三步如此反复进行。
5 遇到结束标签</>,则自动调用endElement()
6 xml文档结束时,则自动调用endDocument()
我觉得是这样。希望帮到您。
int num = attributes.getLength();
for (int i = 0; i < num ; i++) {
System.out.print(localName + "元素的第" + (i + 1) + "个属性名是" + attributes.getQName(i));
System.out.println("---属性值是" + attributes.getValue(i));
}
localName就是根节点,就不需要qName.equals("book")了。
就是被自动调用的,按Ctrl+左键点击下这些类,你可以看到相应的对象都继承里面的方法
Jessica之所以重写方法就是为了添加一些我们这次解析文件的自己的特色,分隔符,输出格式这样。
其根本的解析,比如文件中哪里是开始,哪里是标签,哪里是属性,还是我们创建的对象里继承的方法的默认调用
每次遇到标签时都会执行,将空白也误认为是节点值进行输出,
<book id="1">
<name>三体</name>
<author>刘慈欣</author>
<year>2014</year>
</book>
这段总共执行了7次,有多少个节点就执行多少次,空白执行了4次