Package com.lanyuan.util

Source Code of com.lanyuan.util.PaseXml

package com.lanyuan.util;

import java.io.File;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;


public class PaseXml {
  public static boolean doc2XmlFile(Document document, String filename) {
        boolean flag = true;
        try {
          
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer();
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult(new File(filename));
            transformer.transform(source, result);
        } catch (Exception ex) {
            flag = false;
            ex.printStackTrace();
        }
        return flag;
    }

    public static Document load(String filename) {
        Document document = null;
        try {
          // 1.得到DOM解析器的工厂实例
            DocumentBuilderFactory factory = DocumentBuilderFactory
                    .newInstance();
         // 2.从DOM工厂里获取DOM解析器
            DocumentBuilder builder = factory.newDocumentBuilder();
         // 3.解析XML文档,得到document,即DOM树
            document = builder.parse(new File(filename));
          //Document对象调用normalize(),可以去掉XML文档中作为格式化内容的空白而映射在DOM树中的不必要的Text Node对象。
          //否则你得到的DOM树可能并不如你所想象的那样。特别是在输出的时候,这个normalize()更为有用。
            document.normalize();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return document;
    }

  
    public static void xmlUpdateDemo() {
      String s = PaseXml.class.getResource("/").toString();
      s = s.substring(0,s.indexOf("WEB-INF/"));
      s = s.substring(s.indexOf("D:/"));
      s = s+"xml/images.xml";
        Document document = load(s);
        try {
          NodeList list=document.getElementsByTagName("menu");
          for(int i=0;i<list.getLength();i++){
          Element brandElement=(Element) list.item(i);
            brandElement.setAttribute("a", "00");
          }
        }catch (Exception e) {
    }
        doc2XmlFile(document, s);
    }

    public static void main(String args[]) throws Exception {
      //PaseXml.xmlUpdateDemo();
     
      HttpClientUtils httpClientUtils = new HttpClientUtils();
      List<String> ls= httpClientUtils.getLinkTagsContent("http://v.youku.com/v_show/id_XNTM4NjY5MDgw.html?f=19121485");
      for (String object : ls) {
      System.out.println(object);
    }
    }

}
TOP

Related Classes of com.lanyuan.util.PaseXml

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.