level 6
java访问xml文件
import java.io.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;
public class xmljava{
public static void main(String args[]) { Element element=null; File f =new File("a.xml"); DocumentBuilder db=null; //documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件) DocumentBuilderFactory dbf=null; try{ dbf= DocumentBuilderFactory.newInstance(); //返回documentBuilderFactory对象 db =dbf.newDocumentBuilder();//返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
Document dt= db.parse(f); //得到一个DOM并返回给document对象 element = dt.getDocumentElement();//得到一个elment根元素 System.out.println("根元素:"+element.getNodeName()); //获得根节点
NodeList childNodes =element.getChildNodes() ; // 获得根元素下的子节点 for (int i = 0; i < childNodes.getLength(); i++) // 遍历这些子节点
{ Node node1 = childNodes.item(i); // childNodes.item(i); 获得每个对应位置i的结点
if ("Account".equals(node1.getNodeName())) { // 如果节点的名称为"Account",则输出Account元素属性type System.out.println("\r\n找到一篇账号. 所属区域: " + node1.getAttributes().getNamedItem ("type").getNodeValue() + ". "); NodeList nodeDetail = node1.getChildNodes(); // 获得<Accounts>下的节点 for (int j = 0; j < nodeDetail.getLength(); j++) { // 遍历<Accounts>下的节点 Node detail = nodeDetail.item(j); // 获得<Accounts>元素每一个节点 if ("code".equals(detail.getNodeName())) // 输出code System.out.println("卡号: " + detail.getTextContent()); else if ("pass".equals(detail.getNodeName())) // 输出pass System.out.println("密码: " + detail.getTextContent()); else if ("name".equals(detail.getNodeName())) // 输出name System.out.println("姓名: " + detail.getTextContent()); else if ("money".equals(detail.getNodeName())) // 输出money System.out.println("余额: "+ detail.getTextContent()); } }
}}
catch(Exception e){System.out.println(e);} }}
2011年10月05日 06点10分
3
level 6
-----------Ctrl系列-----------Ctrl+K:将光标停留在变量上,按Ctrl+K键可以查找到下一个同样的变量Ctrl+Shift+K:和Ctrl+K查找的方向相反Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)Ctrl+Q 定位到最后编辑的地方Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)Ctrl+M 最大化当前的Edit或View (再按则反之)Ctrl+/ 注释当前行,再按则取消注释Ctrl+T 快速显示当前类的继承结构Ctrl+Shift-T: 打开类型(Open type)。如果你不是有意磨洋工,还是忘记通过源码树(source tree)打开的方式吧。Ctrl+O:在代码中打开类似大纲视图的小窗口Ctrl+鼠标停留:可以显示类和方法的源码Ctrl+H:打开搜索窗口Ctrl+/(小键盘) 折叠当前类中的所有代码Ctrl+×(小键盘) 展开当前类中的所有代码
-----------Ctrl+Shift 系列-----------Ctrl+Shift+F 格式化当前代码Ctrl+Shift+X 把当前选中的文本全部变味小写Ctrl+Shift+Y 把当前选中的文本全部变为小写Ctrl+Shift+O:快速地导入importCtrl+Shift+R:打开资源 open Resource
-----------F快捷键 系列-----------F3:打开声明该引用的文件F4:打开类型层次结构F5:单步跳入F6:单步跳过F7:单步跳出F8:继续,如果后面没有断点,程序将运行完
-----------行编辑用-----------Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Ctrl+Shift+Enter 在当前行插入空行(原理同上条)
-----------不常用的-----------Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Ctrl+Shift+S:保存全部Ctrl+W 关闭当前EditerCtrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+G: 在workspace中搜索引用Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)-----------不明白-----------Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
2011年10月05日 06点10分
6