Android-android中解析xml失败

WP主题讨论 WP主题讨论 主题:1013 回复:2239

Android-android中解析xml失败

晚风撩人 发布于 2017-03-16 字数 171 浏览 989 回复 3

解析一段简单的xml时候总是出现如下错误,

07-27 01:45:55.375: W/System.err(31866): Unexpected token (position:TEXT @1:2 in java.io.StringReader@4137dc50)

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

夜无邪 2017-09-03 3 楼

最后,我是这么解决的 。。。

// Running exception in Android, but I don't know why.
// public static RecordFile from(String storePath) {
// XStream xml = new XStream();
// return (RecordFile) xml.fromXML(storePath);
// }

public static RecordFile from(File storePath) {
    XStream xml = new XStream();
    return (RecordFile) xml.fromXML(storePath);
}

不是对所有人都有用,不过这是一条管用的线索。

偏爱自由 2017-08-26 2 楼

应该是你XML文件的问题,请检查一下:

  1. XML中是否有没有开始和关闭标签的元素,如果有,补上。
  2. 检查开始是否有<?xml version="1.0" ?>。如果没有,加上。

举例来说,如果你的xml文件类似这样:

 <script>
<scene no="0">
<character id="1">1</character>
<dialog no="1">
<title>1</title>
Sub-Element 1
</dialog>
</scene>
</script>

就会出现你说的错误,需要修改为

 <?xml version="1.0" ?>
<script>
<scene no="0">
<character id="1">1</character>
<dialog no="1">
<title>1</title>
<something_else>Sub-Element 1</something_else>
</dialog>
</scene>
</script>

灵芸 2017-04-29 1 楼

这种错误应该跟字符串编码有关系,读取的时候指定一个编码跟获取到的XML数据编码一致