[英]How to parse xml from NOT resource file
我的應用程序處理數據並將其保存在文件[root] /data/data/appName/files/list.xml中
我知道如何解析XML,如下所示:
XmlResourceParser parser = getResources().getXml(R.xml.list);
但是因為我有一個不在res目錄中的文件,所以我需要找到另一種方法。
我知道如何以字符串形式獲取文件,如下所示:
FileInputStream fIn = openFileInput("samplefile.txt");
InputStreamReader isr = new InputStreamReader(fIn);
char[] inputBuffer = new char[TESTSTRING.length()];
isr.read(inputBuffer);
String readString = new String(inputBuffer);
能夠指定文件名很重要。
另外,當我使用以下命令保存文件時:
FileOutputStream fOut = openFileOutput("list1.xml", MODE_WORLD_READABLE);
編譯器顯示: "MODE_WORLD_READABLE"
因為
"This constant was deprecated in API level 17".
但這有效。 對我來說意味着什么?
從路徑讀取XML文件
public boolean ReadXmlFile(String filePath)
{
try {
String Data="";
File fIN = new File(filePath);
if (fIN.exists())
{
StringBuffer fileData = new StringBuffer(1000);
BufferedReader reader = new BufferedReader(
new FileReader(filePath));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
buf = new char[1024];
}
reader.close();
Data= fileData.toString();
}
else
{
return false;
}
docData = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(Data));
docData = db.parse(is);
} catch (ParserConfigurationException e) {
return false;
} catch (SAXException e) {
return false;
} catch (IOException e) {
return false;
}
return true;
} catch (Exception e) {
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.