1.网络接口
private final static String SEARCH_LOCATION_ADDRESS = "http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=";
2.查询
try
{
URL url = new URL(SEARCH_LOCATION_ADDRESS + userInput);//包装接口地址
HttpURLConnection httpURLConnection = null;
httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);//上传数据
InputStream inputStream = httpURLConnection.getInputStream();//获取返回的数据流
InputStreamReader isr = new InputStreamReader(inputStream, "gbk");//一定要在这个地方才不会乱码(utf-8,gb2312)
BufferedReader br = new BufferedReader(isr);//利用BufferedReader将流转为String
String result = "";
String temp;
while((temp = br.readLine()) != null)
{
result = result + temp;
}
String location = "";
location = getStringFromXml(result);//将字符串传递过去,获取位置
Toast toast = Toast.makeText(FindNumberActivity.this, location, Toast.LENGTH_LONG);
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
System.out.println("查询执行完毕!");
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
3.从xml中将需要的标签中的内容解析出来
/**
* 将xml字符串解析出来,返回地点信息
* */
public String getStringFromXml(String str)
{
String result = "";
ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(str.getBytes());
XmlPullParser parser = Xml.newPullParser();
try {
parser.setInput(tInputStringStream, "UTF-8");
int eventType = 0;
eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
{
switch (eventType)
{
case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
break;
case XmlPullParser.START_TAG:// 开始元素事件
String name = parser.getName();
if (name.equals("location")) //匹配到location这个标签
{
result = parser.nextText().toString();//将标签中的内容读取出来,不是getText()!!!
System.out.println("location解析出来啦:" + result);
}
break;
case XmlPullParser.END_TAG:// 结束元素事件
break;
}
eventType = parser.next();
}
}
catch (XmlPullParserException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return result;//将地址返回
}
分享到:
相关推荐
具体步骤可能包括使用编程语言提供的XML处理库,设置正确的编码,然后读取、解析XML文件,验证中文元素是否正确显示。如果一切正常,说明解决方案有效。 总的来说,解决XML文件中文乱码问题需要对字符编码有深入的...
当XML文件以UTF-8编码存储,包含中文字符,而Java程序运行环境采用的不是UTF-8编码,反序列化过程中,XML数据会被按照错误的编码解析,导致中文字符无法正确显示,从而产生乱码。在上述代码中,可以看到反序列化过程...
Dom4J 输出 XML 时中文乱码解决方案 Dom4J 是一个流行的 Java 库,用于解析和生成 XML 文档。然而,在使用 Dom4J 输出 XML 文档时,中文字符可能会出现乱码问题。这是因为 Dom4J 的默认编码方式可能不支持中文字符...
"乱码问题的解决" 在 Web 开发中,乱码问题是常见的难题之一。乱码问题的出现主要是由于编码不一致引起的。编码不一致可能出现在多个方面,如页面编码、服务器编码、客户端编码、数据库编码等。在本文中,我们将...
以下是如何解决jbpm中gpd.xml中文乱码问题的详细步骤和相关知识点: 首先,我们需要理解的是字符编码的基础知识。在计算机中,文本是以二进制形式存储的,而字符编码如UTF-8、GBK等则规定了每个字符对应的二进制...
本文将深入探讨如何使用Dom4j解析XML以及解决中文乱码的问题。 首先,让我们了解Dom4j的基本用法。在解析XML文件时,通常会使用`DocumentBuilderFactory`和`DocumentBuilder`来创建一个`Document`对象,然后通过这...
在探讨“Flex读取XML乱码的解决方法”这一主题时,我们首先需要理解几个关键概念:Flex框架、XML文件以及编码问题。Flex是一种用于构建跨平台桌面应用程序和移动应用程序的强大框架,它由Adobe Systems开发并开源。...
### Maven-javadoc-plugin 中文注释 API 解决乱码及时间问题详解 #### 一、背景介绍 在软件开发过程中,API文档对于提高代码可读性、方便团队成员之间的交流至关重要。Maven作为一款强大的自动化构建工具,在项目...
### Java Web 开发中解决乱码问题的全面指南 #### 一、乱码问题概述 在Java Web开发过程中,乱码问题是开发者经常会遇到的问题之一。它通常发生在处理含有中文或其他非ASCII字符的数据时。本篇文章将详细介绍在...
在开发Java Web应用程序时,经常遇到的一个问题是字符编码问题,特别是在使用JSP(JavaServer Pages)处理用户...将这个文件部署到`src`目录下的相应包,并正确配置`web.xml`,就可以有效地避免JSP页面出现乱码问题。
本文将详细介绍如何解决Flex应用程序在不同浏览器上出现的中文乱码问题,并确保所有用户都能看到正确的文本。 ### 一、问题背景 Flex是一种用于构建和部署跨平台桌面和Web应用程序的开源框架。由于Flex应用是基于...
本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...
此外,对于前后端分离的应用,前端也需要确保其请求编码与后端保持一致,否则仅靠后端的拦截器可能无法完全解决问题。 总的来说,理解字符编码原理,结合拦截器的灵活运用,可以有效地防止和解决Web应用中的中文...
解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码问题,导致中文参数无法正确传输和解析。今天,我们将讨论如何解决 POST 和 GET 请求乱码问题。 解决 POST 请求乱码问题 在 Spring ...
本文将详细讲解如何利用过滤器来解决中文乱码问题。 1. **理解中文乱码** 中文乱码通常是因为字符编码不一致导致的。在计算机系统中,字符被编码成二进制表示,不同的编码标准(如GBK、UTF-8等)对同一字符有不同...
在本文中,我们将深入探讨XML的基本概念、解析XML数据的方法以及在实际应用中可能遇到的问题,比如乱码问题。 XML的结构: XML文档由一系列的元素构成,每个元素都有开始标签和结束标签,例如 `<tag>` 和 `</tag>`...
本文将详细介绍如何通过修改`server.xml`配置文件来解决Java应用中出现的乱码问题,并对涉及到的相关知识点进行深入探讨。 #### 一、乱码问题背景 在Java Web开发中,客户端通过HTTP协议发送请求到服务器端,而...
本文将详细解析HTTP文件服务器2.84版本中如何通过修改模板来解决这一问题,以确保中文界面、注释以及上传文件的正常显示。 首先,我们需要理解为什么会出现中文乱码。这通常与字符编码设置有关。HTTP文件服务器默认...
在原jxl 包上解决中文乱码,在jdk1.4以上读取中文正常
### 解决乱码问题:Java与UTF-8编码详解 #### 一、理解乱码问题 乱码,通常指的是在程序处理过程中,由于字符编码不一致导致的文字显示错误。在Java开发中,尤其是在Web开发环境下,乱码问题尤为常见,主要发生在...