【问题标题】:Read/Write to XML [duplicate]读/写到 XML [重复]
【发布时间】:2012-06-30 07:25:37
【问题描述】:

我想将字符串写入 xml 文件中的键,然后再调用它。我该怎么做?

例如,如果用户要在 EditText 视图中输入字符串,我希望能够将其存储并与存储的字符串等内容进行比较。

【问题讨论】:

  • 为什么要将字符串存储在 XML 文件中?您可以将其存储在对象或本地数据库中吗?您需要保留这些信息多长时间?

标签: java android xml file-io


【解决方案1】:

在 Android 中,建议在执行 XML 时使用 XmlPullParser。这是一个非常简单的示例,说明如何使用它。

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

 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException.html;
 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.END_DOCUMENT) {
              System.out.println("End 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();
         }
     }
 }

以下是一些可能有帮助的链接:

【讨论】:

  • 如何指定我从哪个文档中提取?
  • 使用setInput方法指定一个InputStream。在 FileInputStream 中包装一个文件。不过,您可能需要考虑为此查看一个简单的数据库。根据密钥字符串的用途,即使使用 Preferences 类也可能有效。
  • 谢谢!你能指导我一些好的数据库创建教程吗?
  • 看看来自vogella.com的这个:vogella.com/articles/AndroidSQLite/article.html
【解决方案2】:

此博客显示了您正在寻找的内容的示例。其他 30 天也很有帮助。

http://chrisrisner.com/31-Days-of-Android--Day-4%E2%80%93Our-First-App

<EditText
    android:id="@+id/editText1" />

然后在.java文件中...

EditText editText1 = (EditText) findViewById( R.id.editText1 );
String textEntered = editText1.getText();

除了将视图的文本设置为该字符串之外,我想不出将字符串存储在 XML 文件中的原因,这可以通过调用 .setText(enteredText) 在 .java 文件中完成

不过,您应该查看博客以获得更好的文档...

【讨论】:

  • 我想将字符串放入 XML 文件中。该链接并没有真正帮助。
  • 好的,XML 文件内部是什么意思?
  • 一旦字符串回到 XML 文件中,您打算如何处理它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
  • 2019-03-28
  • 1970-01-01
  • 2011-09-04
  • 2012-10-27
  • 2011-10-30
相关资源
最近更新 更多