Java操作XML文件(2)-读取XML文件

来源:互联网 发布:mac 看图软件推荐 编辑:程序博客网 时间:2024/05/16 08:59
package xml;    import java.util.ArrayList;  import java.util.List;    import javax.xml.parsers.DocumentBuilder;  import javax.xml.parsers.DocumentBuilderFactory;    import org.w3c.dom.Document;  import org.w3c.dom.Element;  import org.w3c.dom.NodeList;    public class XMLReader {      private String fileName;        public XMLReader(String fileName) {          this.fileName = fileName;      }        public Element getRootElement() throws Exception {          DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();          DocumentBuilder builder = factory.newDocumentBuilder();          Document document = builder.parse(fileName);          return document.getDocumentElement();      }        public List<Element> getElementsByTagName(Element parent, String tagName) {          List<Element> elements = new ArrayList<Element>();          if (parent != null) {              NodeList list = parent.getElementsByTagName(tagName);              for (int i = 0; i < list.getLength(); i++) {                  elements.add((Element) list.item(i));              }          }          return elements;      }        public Element getElementByTagName(Element parent, String tagName, int index) {          List<Element> elements = getElementsByTagName(parent, tagName);          if (index < 0 || index >= elements.size()) {              return elements.get(0);          } else {              return elements.get(index);          }      }        public String getTextContent(Element e) {          return e.getTextContent();      }        public String getAttribute(Element e, String name) {          return e.getAttribute(name);      }        public static void main(String[] args) {          try {              XMLReader reader = new XMLReader("E:\\test.xml");              Element root = reader.getRootElement();              System.out                      .println(reader.getElementsByTagName(root, "Book").size());              Element book = reader.getElementByTagName(root, "Book", 0);              Element price = reader.getElementByTagName(book, "Price", 0);              System.out.println(price.getTextContent());              Element title = reader.getElementByTagName(book, "Title", 0);              System.out.println(reader.getTextContent(title));              System.out.println(reader.getAttribute(title, "Auth"));          } catch (Exception e) {              e.printStackTrace();          }        }  }  

原创粉丝点击