main.java
来自「java 的关于web serive教程」· Java 代码 · 共 61 行
JAVA
61 行
/* * Copyright 2004-5 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */import java.io.FileInputStream;import javax.xml.bind.JAXBContext;import javax.xml.bind.Unmarshaller;import java.io.FileReader;import javax.xml.stream.*;import static javax.xml.stream.XMLStreamConstants.*;import contact.Contact;/* * Use is subject to the license terms. *//** * * * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) */public class Main { public static void main(String[] args) throws Exception { String nameToLookFor = args[0]; JAXBContext jaxbContext = JAXBContext.newInstance("contact"); Unmarshaller um = jaxbContext.createUnmarshaller(); // set up a parser XMLInputFactory xmlif = XMLInputFactory.newInstance(); XMLStreamReader xmlr = xmlif.createXMLStreamReader(new FileReader("contact.xml")); // move to the root element and check its name. xmlr.nextTag(); xmlr.require(START_ELEMENT, null, "addressBook"); xmlr.nextTag(); // move to the first <contact> element. while (xmlr.getEventType() == START_ELEMENT) { // unmarshall one <contact> element into a JAXB Contact object xmlr.require(START_ELEMENT, null, "contact"); Contact contact = (Contact) um.unmarshal(xmlr); if( contact.getName().equals(nameToLookFor)) { // we found what we wanted to find. show it and quit now. System.out.println("the e-mail address is "+contact.getEmail()); return; } if (xmlr.getEventType() == CHARACTERS) { xmlr.next(); // skip the whitespace between <contact>s. } } System.out.println("Unable to find "+nameToLookFor); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?