簡體   English   中英

如何在Android應用程序中使用XML?

[英]How to use xml with android application?

我目前正在創建我的第一個android應用程序,之前從未使用過

我需要從互聯網上讀取xml文件並將其放在列表中

(要讀取此XML http://pollsdb.com/test.txt並將結果放入列表中)

如果有人可以發布有效的代碼,我將不勝感激

XML Pull Parser是定義XMLPULL V1 API中提供的解析功能的接口。

根據所設置的功能,有以下幾種不同的解析器:

當FEATURE_PROCESS_DOCDECL設置為true時,XML 1.0規范中定義的非驗證解析器當FEATURE_VALIDATION為true(這意味着FEATURE_PROCESS_DOCDECL為true)時,XML 1.0規范中定義的非驗證解析器。必須在開始分析之前更改必需的必需項),然后在XML文檔中不存在DOCDECL的情況下,解析器的行為類似於XML 1.0兼容的非驗證解析器(仍可以使用defineEntityReplacementText()定義內部實體)。 此操作模式旨在在受限環境(例如J2ME)中運行。 有兩個關鍵方法:next()和nextToken()。 next()提供對高級解析事件的訪問,而nextToken()允許訪問較低級的令牌。

解析器的當前事件狀態可以通過調用getEventType()方法來確定。 最初,解析器處於START_DOCUMENT狀態。

方法next()將解析器前進到下一個事件。 從next返回的int值確定當前解析器狀態,並且與從隨后對getEventType()的調用返回的值相同。

next()可以看到以下事件類型

START_TAG已讀取XML開始標簽。 TEXT讀取了文本內容; 可以使用getText()方法檢索文本內容。 (在驗證模式下,next()不會報告可忽略的空格,而應使用nextToken())END_TAG讀取了結束標記END_DOCUMENT在第一個next()或nextToken()(或任何其他next *()方法之后)不再有事件可用)稱為用戶應用程序,它可以通過以下方式從XML聲明獲取XML版本,獨立版本和編碼:

版本:getProperty(“ http://xmlpull.org/v1/doc/properties.html#xmldecl-version”)返回String(“ 1.0”),如果未讀取XMLDecl或不支持該屬性,則返回null:getProperty( “ http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone”)返回布爾值:如果沒有獨立聲明或不支持該屬性,則返回null;如果standalone =“ yes”,則返回Boolean(true)當獨立=“ no”編碼時為Boolean(false):如果流具有未知編碼(未在setInputStream中設置)並且未在XMLDecl中聲明,則從getInputEncoding()獲得null

使用此API的最小示例如下所示:

import java.io.IOException;
 import java.io.StringReader;

 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlPullParserFactory;

 public class SimpleXmlPullApp
 {

     public static void main (String args[])
         throws XmlPullParserException, IOException
     {
         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
         factory.setNamespaceAware(true);
         XmlPullParser xpp = factory.newPullParser();

         xpp.setInput( new StringReader ( "<foo>Hello World!</foo>" ) );
         int eventType = xpp.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 "+xpp.getName());
          } else if(eventType == XmlPullParser.END_TAG) {
              System.out.println("End tag "+xpp.getName());
          } else if(eventType == XmlPullParser.TEXT) {
              System.out.println("Text "+xpp.getText());
          }
          eventType = xpp.next();
         }
         System.out.println("End document");
     }
 }

上面的示例將生成以下輸出:

Start document
 Start tag foo
 Text Hello World!
 End tag foo

根據您的需要編輯代碼:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM