如何解析SD应用程序的SD卡?

时间:2015-05-13 04:06:35

标签: java android xml textview

我从sd卡获得了这种格式的xml文件。

<consignments creationDate="2015-05-11 08:04:38">
 <consignment iid="142435846">
  <consignmentId>194556772</consignmentId>
  <orderCode>MUC-EC-4556772</orderCode>
  <pickupDate>2015-04-01</pickupDate>
  <referenceConsignor>236847.1</referenceConsignor>
  <consignorCountry>DE</consignorCountry>
  <consignorZip>83125</consignorZip>
  <consignorCity>EGGSTAETT</consignorCity>

</consignment>

如何从SD卡读取此xml文件并将所有项目显示到textview中?

2 个答案:

答案 0 :(得分:1)

像这样你可以解析。

 try {
     File file = new File("mnt/sdcard/xxx.xml");
     InputStream is = new FileInputStream(file.getPath());
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
     DocumentBuilder db = dbf.newDocumentBuilder();
     Document doc = db.parse(new InputSource(is));
     doc.getDocumentElement().normalize();

     NodeList nodelist = doc.getElementsByTagName("consignment");
     Node node = nodeList.item(0);
     Element fstElmnt = (Element) node;
     String id=fstElmnt.getAttribute("iid");
     String consignmentId=(String)fstElmnt.Element("consignmentId");
     String orderCode=(String)fstElmnt.Element("orderCode");

    }
    catch (Exception e) 
    {
     System.out.println("XML Pasing Excpetion = " + e);
    }

答案 1 :(得分:0)

要传递您的文件以进行阅读,您需要先获取文件:

String sdcardDir = Environment.getExternalStorageDirectory().getAbsolutePath;
File fileToRead = new File(dir, "path/to/file");
InputStream stream = new FileInputStream(fileToRead);

请参阅以下网站,了解如何解析XML:http://developer.android.com/training/basics/network-ops/xml.html

使用输入流,您现在可以通过链接将其传递给解析器。

编辑: 您可以通过将其添加到布局中将其添加到textview,然后在您的activity / fragment中找到视图并调用.setText(String)。