2016-03-02 3 views
0

В чем разница между событиями и тегами в XML?Разница между событиями и тегами в xml

Является ли событие большим заголовком и тегами субтитров?

Как узнать, что является событием и является тегом?

Итак, в приведенном ниже коде я получаю события и теги из этого XML-файла.

Я вижу, что теги какой-то образом захоронены в XML-файле, как и для каждого события, это происходит через тег, но я хочу знать, как сказать точную разницу между два

public boolean process(){ 
    boolean status = true; 
    Application currentRecord = null; 
    boolean inEntry = false; 
    String textValue = ""; 

    try { 
     XmlPullParserFactory factory = XmlPullParserFactory.newInstance().newInstance(); 
     factory.setNamespaceAware(true); 
     XmlPullParser xpp = factory.newPullParser(); 
     xpp.setInput(new StringReader(this.xmlData)); 
     int eventType = xpp.getEventType(); 

     while(eventType != XmlPullParser.END_DOCUMENT){ 
      String tagName = xpp.getName(); 
      switch (eventType){ 
       case XmlPullParser.START_TAG: 
        Log.d("ParseApplications", "Starting Tag for " + tagName); 
        if (tagName.equalsIgnoreCase("entry")) { 
         inEntry = true; 
         currentRecord = new Application(); 
        } 
        break; 

       case XmlPullParser.TEXT: 
        textValue = xpp.getText(); 
        break; 

       case XmlPullParser.END_TAG: 
        Log.d("ParseApplication", "Ending Tag for " + tagName); 
        if (inEntry){ 
         if (tagName.equalsIgnoreCase("entry")){ 
          applications.add(currentRecord); 
          inEntry = false; 
         } 
         else if (tagName.equalsIgnoreCase("name")){ 
          currentRecord.setName(textValue); 
         } 
         else if (tagName.equalsIgnoreCase("artist")){ 
          currentRecord.setArtist(textValue); 
         } 
         else if (tagName.equalsIgnoreCase("release date")){ 
          currentRecord.setReleaseDate(textValue); 
         } 
        } 
        break; 
       default : 

      } 
      eventType = xpp.next(); 
+0

Пример кода будет оценен ... –

+0

@chalarangelo добавлено – Jchoi

ответ

1

XML-файл состоит из набор тегов, который должен быть определен с использованием XML-схемы или DTD (старый стиль).

Некоторые XML-парсеры, как и тот, который вы используете, управляются событиями. Это означает, что они последовательно читают XML-файл, и они поднимают события, когда они сталкиваются с определенными элементами, такими как начальный тег, конечный тег - текст внутри тега. Через эти события они сигнализируют вызывающему элементу анализатора, где в содержимом XML достигается синтаксический анализ, и если вызывающий решает что-то сделать с определенным тегом, он будет реагировать на событие.

В заключение, события возникают, когда парсер встречает элементы XML-файла, такие как теги. Метки, с другой стороны, являются строительными блоками XML-файла.

+0

Итак, вы можете получить тег, чтобы поднять событие, установив тег как событие, то есть событие будет введено при достижении тега? – Jchoi

+0

анализатор поднимает событие, когда он встречает тег. Тег сам по себе не может поднять событие. Возникшее событие - это способ анализатора, чтобы сказать вам, что тег встречается, если вы хотите что-то с ним сделать. Кроме того, тег не может быть установлен в какое-либо событие, между ними нет такого отношения, см. Его так: тег - это «вещь», как бензин в автомобиле, событие - это то, что произошло во время езды на машине, как у вас заканчивается газ. :) – iullianr

+0

Ой, так что в моем кодовом событии будет встречаться, как теги начала, тексты и теги конца, но сами теги составляют содержимое определенной части xml? – Jchoi

Смежные вопросы