`

dom4j读取 XML_1(google天气为例)

 
阅读更多

本来是想用dom4j直接读取url的,但是读取url时,会出现

org.dom4j.DocumentException: Error on line 1 of document  : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. 的错误。

google后,说是多了个空格,哎,url多了个空格咋搞?

请教高手指点

 

有的xml中含有中文,这里拿google的天气api来做说明

 

如何让dom4j读取xml的中文呢(当然需要2个必备包,附件下载即可)

 

private Document readXML(String url) throws MalformedURLException,
			DocumentException, UnsupportedEncodingException {
		SAXReader reader = new SAXReader();
		byte[] bytes = url.getBytes();
		InputStream in = new ByteArrayInputStream(bytes);
		InputStreamReader strInStream = new InputStreamReader(in, "GBK"); 
		Document document = reader.read(strInStream);
		return document;
	}

 这样就可以读取中文了

Document weatherDoc = null;
		try {
			weatherDoc = readXML("http://www.google.com/ig/api?hl=zh-cn&weather=changzhou");
			//weatherDoc = readXML(new File("c://api.xml"));
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		//List list = weatherDoc.selectNodes("//xml_api_reply/weather/forecast_information");
        Node node = weatherDoc.selectSingleNode("//xml_api_reply/weather/current_conditions/condition");
        System.out.println(node.getName());
        String name = node.valueOf("@data");
        System.out.println(name);

 @data出来了,今天“

分享到:
评论

相关推荐

    Python 读取xml数据,cv2裁剪图片实例

    下载的数据是pascal voc2012的数据,已经有annotation了,不过是xml格式的,训练的模型是在Google模型的基础上加了两层网络,因此要在原始图像中裁剪出用于训练的部分图像。 另外,在原来给的标注框的基础上,做了点...

    Tinyxml 源代码(VC6 & VS2005)

    从流中读取XML使其可用于网络传输。通过些小技巧,它知道当XML文档读取完毕时,流后面的就一定是其它数据了。TinyXML总假定当它读取到根结点后XML数据就结束了。换句话说,那些具有不止一个根元素的文档是无法被正确...

    开源bbs源码java-playfish:从code.google.com/p/playfish自动导出

    应用开源jar包包括httpclient(内容读取),dom4j(配置文件解析),jericho(html解析),已经在war包的lib下。 这个项目目前还很不成熟,但是功能基本都完成了。要求使用者熟悉XML,熟悉正则表达式。目前通过这个工具...

    Ajax基础教程(扫描版)

    3.1.2 将响应解析为xml 40 3.1.3 使用w3c dom动态编辑页面 45 3.2 发送请求参数 52 3.2.1 请求参数作为xml发送 59 3.2.2 使用json向服务器发送数据 64 3.3 小结 70 第4章 实现基本ajax技术 71 4.1 完成验证 ...

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    6.5.htm 以从大到小冒泡排序法为例 6.6.htm 使用Navigator的属性进行浏览器检测 6.7.htm 列出了一些可能的浏览器类型 6.8.htm Screen对象的使用 6.9.htm 用来检测浏览器...

    【卷一/共两卷】AJAX实战pdf高清版90M

    A.4 DOM检查器 A.4.1 使用Mozilla DOM检查器 A.4.2 IE的DOM检查器 A.4.3 MacOS X上的SafariDOM检查器 A.5 安装:Firefox扩展 A.6 资源 附录B 面向对象程序员Javascript指南 B.1 JavaScipt不是Java B.2 JavaScript中...

    AJAX开发简略(附源代码)

    三、为什么使用AJAX. 4 四、谁在使用AJAX. 6 五、用AJAX改进你的设计... 6 例子1:数据校验... 7 例子2:按需取数据—级联菜单... 7 例子3:读取外部数据... 7 六、AJAX的缺陷... 7 七、AJAX...

    Android集成主流优秀第三方组件框架

    XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的字体...

    集成目前Android主流优秀第三方组件

    XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的字体...

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的...

    集成安卓主流优秀第三方组件框架.zip

    XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的...

    《程序天下:JavaScript实例自学手册》光盘源码

    第1章 页面特效 1.1 HTML页面反向显示 1.2 页面自动最大化 1.3 页面自动刷新 1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错...

    程序天下:JavaScript实例自学手册

    第1章 页面特效 1.1 HTML页面反向显示 1.2 页面自动最大化 1.3 页面自动刷新 1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错...

    超实用的jQuery代码段

    5.6 读取XML数据的自动完成 5.7 多维数据的自动完成 第6章 jQuery实现拖放功能 6.1 基本拖放功能 6.2 基于事件的拖放 6.3 限制移动范围的拖放 6.4 延迟进行的拖放 6.5 具有对齐功能的拖放 6.6 自动滚动的拖放 6.7 ...

Global site tag (gtag.js) - Google Analytics