的SAXParser找不到标签

问题描述:

我试图解析用的SAXParser的SAXParser找不到标签

有一个在我的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> 

一个流派标记一个XML文件,我尝试使用此代码解析它:

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的现在可以找到“流派”标签,但条件:

if(localName.equals("com.omertron.themoviedbapi.model.Genre")) 

是不正确的,所以我不能解析它。

为什么不是这样吗?它应该是正确的标记名。

+0

你尝试打印的标签名,如果它不符合你期望? – 2013-04-27 17:57:27

+0

是的,我做到了。也许这是在流派标签没有条目时发生的。是否有可能将最后两个条件放入movie.setGenres(new ArrayList ())之后的第一个条件中; ? (localName.equalsIgnoreCase(“com.omertron.themoviedbapi.model.Genre”)){System.out.printline(“yes”);} else { – user1882812 2013-04-27 18:08:46

您的名字中有一个UpCase。

试试这个:

if (localName.equalsIgnoreCase("com.omertron.themoviedbapi.model.Genre")) 
+0

nope,没有任何改变:( – user1882812 2013-04-27 18:18:53

+0

请粘贴关于localname的代码 – 2013-04-27 18:21:21

+0

) System.out.println(localName);} – user1882812 2013-04-27 18:25:55