我正在尝试使用SAXParser解析xml文件
我的xml文件中有一个类型标记
<genres>
<com.omertron.themoviedbapi.model.Genre>
<id>28</id>
<name>Action</name>
</com.omertron.themoviedbapi.model.Genre>
<com.omertron.themoviedbapi.model.Genre>
<id>53</id>
<name>Thriller</name>
</com.omertron.themoviedbapi.model.Genre>
<com.omertron.themoviedbapi.model.Genre>
<id>10769</id>
<name>Foreign</name>
</com.omertron.themoviedbapi.model.Genre>
</genres>
我试着用这段代码解析它:
if(localName.equals("genres")) {
movie.setGenres(new ArrayList<Genre>());
}
if(localName.equals("com.omertron.themoviedbapi.model.Genre")) {
System.out.println("True");
movie.getGenres().add(new Genre());
}
if(localName.equals("name")) {
movie.getGenres().get(movie.getGenres().size()).setGenre(currentValue);
}
我不需要该类型的ID,所以我重复它。
saxparser现在可以找到“genres”标签,但条件是:
if(localName.equals("com.omertron.themoviedbapi.model.Genre"))
永远不会是真的所以我无法解析它。
为什么不是这样?它应该是正确的标记名。
答案 0 :(得分:0)
您的名字中有一个UpCase。
试试这个:
if (localName.equalsIgnoreCase("com.omertron.themoviedbapi.model.Genre"))