XMLPullparser getEventType始终返回0

时间:2016-06-24 07:04:35

标签: android xmlpullparser

XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance();
pullParserFactory.setNamespaceAware(true);
XmlPullParser parser = pullParserFactory.newPullParser();
parser.setInput(new StringReader(xmlResponse.replace("&","&")));
int eventType = parser.getEventType();

在事件类型中,我总是只获得0并且在while中循环。我的Xml响应是

  <ResponseCode>00</ResponseCode>
  <ResponseMessage>Success</ResponseMessage>
  <CategoryCount>10</CategoryCount>
  <CategoryMaster>
    <CategoryId>001</CategoryId>
    <CategoryFullName>BreakFast</CategoryFullName>
    <CategoryShortName>Break</CategoryShortName>
    <SubCategoryMaster>
      <SubCategoryId>007</SubCategoryId>
      <SubCategoryFullName>Idiyappam</SubCategoryFullName>
      <SubCategoryShortName>idi</SubCategoryShortName>
      <price>25.00</price>
    </SubCategoryMaster>
  </CategoryMaster>

请指教我

1 个答案:

答案 0 :(得分:0)

使用这种方式。

  XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance();
    pullParserFactory.setNamespaceAware(true);
    XmlPullParser parser = pullParserFactory.newPullParser();

parser.setInput(new StringReader(xmlResponse.replace("&","&amp;")));
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
            if(eventType == XmlPullParser.START_DOCUMENT) {
                System.out.println("Start document");
            } else if(eventType == XmlPullParser.START_TAG) {
                System.out.println("Start tag "+parser.getName());
            } else if(eventType == XmlPullParser.END_TAG) {
                System.out.println("End tag "+parser.getName());
            } else if(eventType == XmlPullParser.TEXT) {
                System.out.println("Text "+parser.getText());
            }
            eventType = parser.next();
        }
相关问题