解决中文乱码问题
来源:技术人生 责任编辑:栏目编辑 发表时间:2013-07-01 22:40 点击:次
简单写了个,直接将你的XML解析后再重新输出
Java code
private void parseUsingkXML(InputStream is) throws XmlPullParserException {
try {
KXmlParser parser = new KXmlParser();// 实例化
parser.setInput(is, "utf-8");
parsekXMLItems(parser);
} catch (IOException e) {
e.printStackTrace();
}
}
private void parsekXMLItems(KXmlParser parser) throws IOException,
XmlPullParserException {
// 接收事件类型
int eventType = parser.getEventType();
// 当事件类型不为文档末尾时
while (eventType != XmlPullParser.END_DOCUMENT) { // true
// System.out.println("parsekXMLItems");
switch (eventType) {// 判断事件类型
try {
KXmlParser parser = new KXmlParser();// 实例化
parser.setInput(is, "utf-8");
parsekXMLItems(parser);
} catch (IOException e) {
e.printStackTrace();
}
}
private void parsekXMLItems(KXmlParser parser) throws IOException,
XmlPullParserException {
// 接收事件类型
int eventType = parser.getEventType();
// 当事件类型不为文档末尾时
while (eventType != XmlPullParser.END_DOCUMENT) { // true
// System.out.println("parsekXMLItems");
switch (eventType) {// 判断事件类型
case XmlPullParser.START_TAG:// 为开始标记时
System.out.print("<" + parser.getName());// 输出开始标记
// 当有属性时,输出属性
if (parser.getAttributeCount() >= 1)
for (int i = 0; i < parser.getAttributeCount(); i++) {
// 输出属性名称
System.out
.print(" " + parser.getAttributeName(i) + "=");
// 输出属性值
System.out.print("\"" + parser.getAttributeValue(i)
+ "\"");
}
System.out.print(">");
break;
case XmlPullParser.END_TAG:// 为结束标记时
System.out.print("</" + parser.getName() + ">");
break;
&nb
// 当有属性时,输出属性
if (parser.getAttributeCount() >= 1)
for (int i = 0; i < parser.getAttributeCount(); i++) {
// 输出属性名称
System.out
.print(" " + parser.getAttributeName(i) + "=");
// 输出属性值
System.out.print("\"" + parser.getAttributeValue(i)
+ "\"");
}
System.out.print(">");
break;
case XmlPullParser.END_TAG:// 为结束标记时
System.out.print("</" + parser.getName() + ">");
break;
&nb
相关新闻>>
- 发表评论
-
- 最新评论 更多>>