Как читать значения в коде из локального файла XML? [Дубликат]

Google предоставит вам возможность передать ваш ключ API внутри него







fore more: https://developers.google.com/chart/interactive/docs/gallery/ панель инструментов

10
задан Rui Carneiro 27 February 2012 в 13:32
поделиться

5 ответов

Попробуйте это сначала:

import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Main extends Activity {

Button btn;
TextView tvXml;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btn = (Button) findViewById(R.id.button1);

    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // Load XML for parsing.
            AssetManager assetManager = getAssets();
            InputStream inputStream = null;
            try {
                inputStream = assetManager.open("textxml.xml");
            } catch (IOException e) {
                Log.e("tag", e.getMessage());
            }

            String s = readTextFile(inputStream);
            TextView tv = (TextView)findViewById(R.id.textView1);
            tv.setText(s);
        }
    });
}


private String readTextFile(InputStream inputStream) {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    byte buf[] = new byte[1024];
    int len;
    try {
        while ((len = inputStream.read(buf)) != -1) {
            outputStream.write(buf, 0, len);
        }
        outputStream.close();
        inputStream.close();
    } catch (IOException e) {

    }
    return outputStream.toString();
}
}
5
ответ дан Shishir Shetty 5 September 2018 в 10:35
поделиться

Попробуйте это для Xamarin.Android (Cross Platform)

вам нужно сохранить файл xml в папку «Активы» с помощью действия сборки «AndroidAsset».

using System;
using System.Xml;
using System.IO;

Фрагмент кода для чтения xml-файл

XmlDocument xDoc = new XmlDocument();
Stream xmlStream = Assets.Open("textxml.xml");
xDoc.Load(xmlStream);

Класс XmlDocument реализует синтаксический анализатор основной модели документа XML (DOM) для .NET Framework.

-1
ответ дан JJD 5 September 2018 в 10:35
поделиться

Существует несколько способов чтения XML в Android. Мой первый вариант - DocumentBuilder , так как не создает ограничение на версию API (доступно с уровня API 1).

Пример из одного из моих проектов:

public Document parseXML(InputSource source) {
    try {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(false);
        dbf.setValidating(false);
        DocumentBuilder db = dbf.newDocumentBuilder();
        return db.parse(source);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
 }

Как вы читаете файл и получаете доступ к значениям документа после этого, ну, его довольно простой, просто Google.

2
ответ дан Rui Carneiro 5 September 2018 в 10:35
поделиться

Для начала используйте DOM-парсер. С его гораздо меньшим кодом и легко следовать. SAX парсер просто слишком много кода для начала. Люди будут утверждать, что SAX быстрее, да, но DOM проще, меньше кода и меньше ошибок.

Если вы должны перейти в SAX, сначала измерьте время ответа при использовании DOM и только при синтаксическом анализе причиняет вам наибольшую боль, затем перейдите к SAX. Или DOM делает замечательную работу.

2
ответ дан Sears India 5 September 2018 в 10:35
поделиться

Лично я бы не рекомендовал парсер DOM, попробуйте это вместо этого, простые аннотации помогут вам с помощью простого XML-парсера

http://www.javacodegeeks.com/2011/ 02 / Android-XML-связывающий простой tutorial.html

1
ответ дан Some one Some where 5 September 2018 в 10:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: