package cn.bit.program;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.sun.net.ssl.HttpsURLConnection;
/**
* 远程读取xml文件()
* @author wxy
*
*/
public class RemoteParseFile {
/**
*
* @param filePath
*/
public static Document RemoteParseFile(String filePath)
{
Document doc=null;
try {
URL url = new URL(filePath);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.connect();
BufferedInputStream bis=new BufferedInputStream(connection.getInputStream());
String s="";
int c;
while((c=bis.read())!=-1){
s+=(char)c;
}
Reader reader=new StringReader(s);
SAXReader sReader=new SAXReader();
doc=sReader.read(reader);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
return doc;
}
public static void parseFile(Document doc){
if(doc!=null){
Element rootElement=doc.getRootElement();
List<Element> childElements=rootElement.elements();
Iterator<Element> iter=childElements.iterator();
while(iter.hasNext()){
Element childElement=iter.next();
if(childElement.getName().equals("libraries")){
List<Element> elements=childElement.elements();
Iterator<Element> childIter=elements.iterator();
while(childIter.hasNext()){
Element libElement=childIter.next();
Attribute attr=libElement.attribute("name");
System.out.println("^^^^^^^"+attr.getValue()+"^^^^^^");
}
}
}
}
}
public static void main(String[] args) {
Document doc=RemoteParseFile("http://www.95bit.com/update/update.xml");
parseFile(doc);
}
}