package com.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class DomXMLString {
// private static String SERVICES_HOST = "www.webxml.com.cn";
// 远程WebService接口url
private static String NETDATA_URL = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=";
// private static String NETDATA_URL =
// "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=北京";
// 访问远程WebService接口返回的xml格式的数据保存在本地的绝对路径
private static String LOCAL_PC_SAVEFILE_URL = new SimpleDateFormat(
"yyyyMMdd").format(new Date())
+ "weather.xml";
public static void main(String[] args) throws Exception {
// System.out.println(IpUtils.getMyaddress());
// String
// mess=IpUtils.getMyaddress().substring(IpUtils.getMyaddress().indexOf(":")+1,IpUtils.getMyaddress().indexOf("市"));
// System.out.println(mess);
// Document document = getProvinceCode(NETDATA_URL+mess);
// helloOK(document, LOCAL_PC_SAVEFILE_URL);
// makeMess();
list=readXML();
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
public static String path = "E:/weather/" + LOCAL_PC_SAVEFILE_URL;
public static void makeMess() throws IOException, TransformerException {
File file = new File(path);
if (file.exists()) {
System.out.println("有了");
} else {
System.out.println(IpUtils.getMyaddress());
String mess = IpUtils.getMyaddress().substring(
IpUtils.getMyaddress().indexOf(":") + 1,
IpUtils.getMyaddress().indexOf("市"));
System.out.println(mess);
Document document = getProvinceCode(NETDATA_URL + mess);
helloOK(document, LOCAL_PC_SAVEFILE_URL);
}
}
/* 返回一个Document对象 */
public static Document getProvinceCode(String netXMLDataURL) {
Document document = null;
DocumentBuilderFactory documentBF = DocumentBuilderFactory
.newInstance();
documentBF.setNamespaceAware(true);
try {
DocumentBuilder documentB = documentBF.newDocumentBuilder();
InputStream inputStream = getSoapInputStream(netXMLDataURL); // 具体webService相关
document = documentB.parse(inputStream);
inputStream.close();
} catch (DOMException e) {
e.printStackTrace();
return null;
} catch (ParserConfigurationException e) {
e.printStackTrace();
return null;
} catch (SAXException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
return document;
}
/* 返回InputStream对象 */
public static InputStream getSoapInputStream(String url) {
InputStream inputStream = null;
try {
URL urlObj = new URL(url);
URLConnection urlConn = urlObj.openConnection();
// urlConn.setRequestProperty("Host", SERVICES_HOST);
// //具体webService相关
urlConn.connect();
inputStream = urlConn.getInputStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return inputStream;
}
/* 访问远程(WebService)xml数据后返回的xml格式字符串并生成为本地文件 */
public static void helloOK(Document document, String savaFileURL) {
File file = new File("E:/weather/");
File file2 = new File(path);
deleteFile(file, savaFileURL);// 删除其他文件
if (file2.exists()) {// 已经存在则跳出
System.out.println("存在");
return;
}
Source source = new DOMSource(document);
// Create a new Transformer that performs a copy of the Source to the
// Result.
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transFormer = null;
try {
transFormer = transFactory.newTransformer();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
transFormer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transFormer.setOutputProperty(OutputKeys.METHOD, "xml");
transFormer.setOutputProperty(OutputKeys.INDENT, "no");
OutputStreamWriter outputStreamWriter = null;
try {
outputStreamWriter = new OutputStreamWriter(new FileOutputStream(//生成本地的xml文件
path), "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Result xmlResult = new StreamResult(outputStreamWriter);
// Transform the XML Source to a Result.
try {
transFormer.transform(source, xmlResult);
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 删除其他文件
*
* @param file
* @param fileName
*/
private static void deleteFile(File file, String fileName) {
// 传入的文件夹是否存在
if (file.exists() && file.isDirectory() && file != null) {
// 通过File类的listFiles方法获取文件夹中所有文件的全路径
File[] files = file.listFiles();
// 如果文件夹不为空
if (files != null && files.length > 0) {
// 遍历改文件夹下的所有内容
for (int i = 0; i < files.length; i++) {
// 如果是文件夹
if (files[i].isDirectory()) {
// 再次调用自己
deleteFile(files[i], fileName);
} else {
if (!files[i].getName().equals(fileName)) {// 删除除XX以外的文件
System.out.println(files[i]);
files[i].delete();
}
}
}
}
}
}
public static List<String> list=new ArrayList<String>();
public static List<String> readXML() {
try {
File file = new File(path);
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(file);
Element root = doc.getDocumentElement();
NodeList books = root.getChildNodes();
if (books != null) {
for (int i = 0; i < books.getLength(); i++) {
Node book = books.item(i);
if (book.getNodeName().equals("string")) {
list.add(book.getTextContent());
// System.out.println(book.getTextContent());
}
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于DWR推送的web聊天系统
共133个文件
gif:76个
class:12个
java:8个
5星 · 超过95%的资源 需积分: 10 8 下载量 114 浏览量
2016-05-11
13:34:39
上传
评论
收藏 2.66MB ZIP 举报
温馨提示
基于dwr推送技术,结合jsp技术,webservice天气接口,以及发送表情技术的web聊天系统,识别电脑和手机设备,不足地方请指教,谢谢
资源推荐
资源详情
资源评论
收起资源包目录
基于DWR推送的web聊天系统 (133个子文件)
DomXMLString.class 7KB
DWRHelper.class 5KB
QRCode.class 2KB
QRCodeUtil.class 2KB
IpUtils.class 2KB
JavascriptChat.class 1KB
DWRHelper$1.class 923B
DWRHelper$2.class 913B
DWRHelper$3.class 897B
Message.class 885B
JavascriptChat$1.class 845B
Users.class 772B
.classpath 907B
org.eclipse.wst.jsdt.ui.superType.container 49B
main.css 3KB
hzw-city-picker.css 2KB
34.gif 13KB
38.gif 10KB
17.gif 8KB
18.gif 8KB
11.gif 8KB
31.gif 7KB
46.gif 6KB
30.gif 6KB
43.gif 5KB
8.gif 5KB
28.gif 5KB
42.gif 5KB
5.gif 5KB
32.gif 4KB
40.gif 4KB
14.gif 4KB
25.gif 4KB
7.gif 4KB
10.gif 4KB
44.gif 4KB
48.gif 4KB
68.gif 3KB
9.gif 3KB
27.gif 3KB
39.gif 3KB
6.gif 3KB
16.gif 3KB
47.gif 3KB
21.gif 3KB
60.gif 3KB
26.gif 3KB
74.gif 2KB
24.gif 2KB
57.gif 2KB
51.gif 2KB
23.gif 2KB
12.gif 2KB
33.gif 2KB
70.gif 2KB
50.gif 2KB
22.gif 2KB
20.gif 2KB
4.gif 2KB
1.gif 2KB
19.gif 2KB
3.gif 2KB
37.gif 2KB
29.gif 2KB
45.gif 2KB
13.gif 2KB
36.gif 2KB
65.gif 2KB
67.gif 2KB
2.gif 2KB
41.gif 2KB
52.gif 2KB
15.gif 2KB
66.gif 2KB
64.gif 2KB
49.gif 1KB
63.gif 1KB
35.gif 1KB
73.gif 1KB
58.gif 1KB
53.gif 1KB
69.gif 1KB
54.gif 1KB
56.gif 1KB
59.gif 1KB
55.gif 1KB
62.gif 1KB
61.gif 1KB
72.gif 988B
71.gif 971B
75.gif 654B
icon.gif 242B
500.html 2KB
404.html 2KB
index.html 859B
1.ico 264KB
2.ico 264KB
itext-2.0.6.jar 1.11MB
dwr.jar 838KB
zxing-1.6-core.jar 323KB
共 133 条
- 1
- 2
资源评论
- sj138234208592016-06-10还可以,有时间研究一下
bobo1232
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功