Java 分析DOM类时出错

Java 分析DOM类时出错,java,android,xml,Java,Android,Xml,我正在尝试解析如下所示的XML文件: <body copyright="All data copyright CyRide 2015."> <predictions agencyTitle="CyRide" routeTitle="1 Red West" routeTag="1W" stopTitle="Lincoln Way at Beach Ave." stopTag="1171"> <direction title="Ames Middle School vi

我正在尝试解析如下所示的XML文件:

<body copyright="All data copyright CyRide 2015.">
<predictions agencyTitle="CyRide" routeTitle="1 Red West" routeTag="1W" stopTitle="Lincoln Way at Beach Ave." stopTag="1171">
<direction title="Ames Middle School via Lincoln Way">
<prediction epochTime="1422418088355" seconds="726" minutes="12" isDeparture="false" dirTag="1W_0_var2" vehicle="420" block="2004" tripTag="21181"/>
<prediction epochTime="1422420333656" seconds="2972" minutes="49" isDeparture="false" affectedByLayover="true" dirTag="1W_0_var0" vehicle="109" block="2006" tripTag="21183"/>
</direction>
</predictions>
<predictions agencyTitle="CyRide" routeTitle="3 Blue North" routeTag="3N" stopTitle="Lincoln Way at Beach Ave." stopTag="1171">
<direction title="Mall via Schilletter">
<prediction epochTime="1422417711646" seconds="350" minutes="5" isDeparture="false" dirTag="3N_1_var0" vehicle="109" block="2006" tripTag="23094"/>
<prediction epochTime="1422419941342" seconds="2579" minutes="42" isDeparture="false" affectedByLayover="true" dirTag="3N_1_var1" vehicle="189" block="2020" tripTag="23096"/>
<prediction epochTime="1422422103244" seconds="4741" minutes="79" isDeparture="false" affectedByLayover="true" dirTag="3N_1_var0" vehicle="183" block="2021" tripTag="23098"/>
</direction>
</predictions>
<predictions agencyTitle="CyRide" routeTitle="A West" routeTag="AW" stopTitle="Lincoln Way at Beach Ave." stopTag="1171" dirTitleBecauseNoPredictions="West Ames/Campustown"></predictions>
<predictions agencyTitle="CyRide" routeTitle="1B Red East" routeTag="1B" stopTitle="Lincoln Way at Beach Ave." stopTag="1171" dirTitleBecauseNoPredictions="Lincoln Way & Beach"></predictions>
</body>
我得到以下错误:

01-28 09:42:23.145: E/Error:(2567): expected: /HR read: body (position:END_TAG </body>@1:1109 in java.io.StringReader@429c8958) 
01-28 09:42:23.145:E/错误:(2567):预期:/HR读取:body(位置:END_TAG@1:1109 in java.io)。StringReader@429c8958) 

我认为这是因为XML在技术上不是“格式良好的”。有什么方法可以解决这个问题,或者我需要找到一个新的解析器吗?

我能看到的唯一问题是最后一个
元素中的
&
(与号)字符。如果可以,请将其更改为:

<predictions agencyTitle="CyRide" routeTitle="1B Red East"
routeTag="1B" stopTitle="Lincoln Way at Beach Ave." 
stopTag="1171" dirTitleBecauseNoPredictions="Lincoln Way &amp; Beach">
</predictions>


如果无法更改此值,可以尝试或。

我看到的唯一问题是最后一个
元素中的
&
(与号)字符。如果可以,请将其更改为:

<predictions agencyTitle="CyRide" routeTitle="1B Red East"
routeTag="1B" stopTitle="Lincoln Way at Beach Ave." 
stopTag="1171" dirTitleBecauseNoPredictions="Lincoln Way &amp; Beach">
</predictions>


如果无法更改此值,可以尝试或。

我看到的唯一问题是最后一个
元素中的
&
(与号)字符。如果可以,请将其更改为:

<predictions agencyTitle="CyRide" routeTitle="1B Red East"
routeTag="1B" stopTitle="Lincoln Way at Beach Ave." 
stopTag="1171" dirTitleBecauseNoPredictions="Lincoln Way &amp; Beach">
</predictions>


如果无法更改此值,可以尝试或。

我看到的唯一问题是最后一个
元素中的
&
(与号)字符。如果可以,请将其更改为:

<predictions agencyTitle="CyRide" routeTitle="1B Red East"
routeTag="1B" stopTitle="Lincoln Way at Beach Ave." 
stopTag="1171" dirTitleBecauseNoPredictions="Lincoln Way &amp; Beach">
</predictions>



如果您无法改变这一点,您可以尝试或。

您的短语“技术上不完善”表明您认为这是一个微不足道的技术问题。这不是,这是根本。格式不好的XML与无法编译的Java代码一样有用。事实上,它根本不是真正的XML。除了缺少文档类型headerNo之外,它似乎是有效的XML。它在文本内容中有一个未替换的符号。您的短语“技术上不完善”表明您认为这是一个微不足道的技术问题。这不是,这是根本。格式不好的XML与无法编译的Java代码一样有用。事实上,它根本不是真正的XML。除了缺少文档类型headerNo之外,它似乎是有效的XML。它在文本内容中有一个未替换的符号。您的短语“技术上不完善”表明您认为这是一个微不足道的技术问题。这不是,这是根本。格式不好的XML与无法编译的Java代码一样有用。事实上,它根本不是真正的XML。除了缺少文档类型headerNo之外,它似乎是有效的XML。它在文本内容中有一个未替换的符号。您的短语“技术上不完善”表明您认为这是一个微不足道的技术问题。这不是,这是根本。格式不好的XML与无法编译的Java代码一样有用。事实上,它根本不是真正的XML。除了缺少文档类型headerNo之外,它似乎是有效的XML。它在文本内容中有一个未替换的符号和。我最终使用了Android内置的pull解析器,效果很好。然而,这个答案正确地回答了我的问题。谢谢该解析器是否接受未更改的
&
字符?我不知道这是问题所在,还是缺少doctype。不,doctype不是必需的,但单个
&
确实会使其成为“无效XML”。您是否将
&
更改为
&还是不?当我看到它试图解析的XML字符串时,ampfersand被转义了。我最终使用了Android内置的pull解析器,该解析器工作得很好。然而,这个答案正确地回答了我的问题。谢谢该解析器是否接受未更改的
&
字符?我不知道这是问题所在,还是缺少doctype。不,doctype不是必需的,但单个
&
确实会使其成为“无效XML”。您是否将
&
更改为
&还是不?当我看到它试图解析的XML字符串时,ampfersand被转义了。我最终使用了Android内置的pull解析器,该解析器工作得很好。然而,这个答案正确地回答了我的问题。谢谢该解析器是否接受未更改的
&
字符?我不知道这是问题所在,还是缺少doctype。不,doctype不是必需的,但单个
&
确实会使其成为“无效XML”。您是否将
&
更改为
&还是不?当我看到它试图解析的XML字符串时,ampfersand被转义了。我最终使用了Android内置的pull解析器,该解析器工作得很好。然而,这个答案正确地回答了我的问题。谢谢该解析器是否接受未更改的
&
字符?我不知道这是问题所在,还是缺少doctype。不,doctype不是必需的,但单个
&
确实会使其成为“无效XML”。您是否将
&
更改为
&还是否?当我查看它试图解析的XML字符串时,ampfersand被转义