使用Java SAX解析XML文档时出现问题
我正在解析一个XML文档。我以前做过数千次,但我不明白为什么会出现以下问题: 以下是我正在解析的XML文档的相关部分:使用Java SAX解析XML文档时出现问题,java,xml,parsing,sax,Java,Xml,Parsing,Sax,我正在解析一个XML文档。我以前做过数千次,但我不明白为什么会出现以下问题: 以下是我正在解析的XML文档的相关部分: XML: <?xml version="1.0" standalone="yes"?> <ratings> <url_template>http://api.netflix.com/users/T1BlCJtdcWMuF6gJEfue96_W.kZ_gW81h59KqLEfT1AzE-/ratings/title?{-join|&am
XML: <?xml version="1.0" standalone="yes"?>
<ratings>
<url_template>http://api.netflix.com/users/T1BlCJtdcWMuF6gJEfue96_W.kZ_gW81h59KqLEfT1AzE-/ratings/title?{-join|&|title_refs}</url_template>
<ratings_item>
<user_rating value="not_interested"></user_rating>
<predicted_rating>4.8</predicted_rating>
<id>http://api.netflix.com/users/T1BlCJtdcWMuF6gJEfue96_W.kZ_gW81h59KqLEfT1AzE-/ratings/title/70112530</id>
<link href="http://api.netflix.com/catalog/titles/series/70112530/seasons/70112530" rel="http://schemas.netflix.com/catalog/title" title="Castle: Season 1">
</link>
.
.
.
这是否与用户评级有一个属性“值”有关?我将感谢任何帮助。谢谢 我建议您等到
endElement(String uri, String localName, String qName)
在将元素标记为已通过之前:
inSomething = false
我可以想象,当元素为空时
public void characters(char[] ch, int start, int length)
将不会被调用,您的标志将不会被清除,并且您将进入两个Inmething标志设置为true的不合适状态。我建议您等待
endElement(String uri, String localName, String qName)
在将元素标记为已通过之前:
inSomething = false
我可以想象,当元素为空时
public void characters(char[] ch, int start, int length)
将不会被调用,您的标志将不会被清除,并且您将进入两个InMething标志设置为true的不一致状态。我是否应该在endElement()中将所有布尔值设置为false?我一直在characters()中完成这一切,如上面的原始示例所示……正如您所建议的,我修复了曾经给我带来问题的,但我在其他类中有很多其他布尔值,我在characters()中将它们设置为false……嗯,这取决于具体情况。在您发布的例子中,您的布尔值实际上表明您已经解析了元素。这是合理的,你可以确定只有当你击中结束元素。但是,例如,如果您想设置一些布尔值来指示元素具有非空值,那么在characteds()处理程序中设置它是有意义的。希望这有帮助:)我应该在endElement()中将所有布尔值设置为false吗?我一直在characters()中完成这一切,如上面的原始示例所示……正如您所建议的,我修复了曾经给我带来问题的,但我在其他类中有很多其他布尔值,我在characters()中将它们设置为false……嗯,这取决于具体情况。在您发布的例子中,您的布尔值实际上表明您已经解析了元素。这是合理的,你可以确定只有当你击中结束元素。但是,例如,如果您想设置一些布尔值来指示元素具有非空值,那么在characteds()处理程序中设置它是有意义的。希望这有帮助:)