<array>
<array>
<string></string>
<string></string>
<string></string>
</array>
<array>
<string></string>
<string></string>
<string></string>
</array>
<array>
<string></string>
<string></string>
<string></string>
</array>
</array>
XML文件类似以上格式
想把string里的数据提取出来
并保存二维数组形式。由于任务紧急,所以麻烦各位大侠详细指教!!!!!不胜感激
------解决方案--------------------
使用PULL 或者SAX都可以的呀。
PULL示例代码:
- Java code
XmlPullParser parser = Xml.newPullParser(); try { int nTouched = 0; String result = null; // 以流的形式获取XML文件 InputStream InputStream = new ByteArrayInputStream(content .getBytes()); // 设置输入流已经编码方式 parser.setInput(InputStream, "UTF-8"); // 获取当前的事件类型 int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_DOCUMENT) { // Utils.writeLogInfo("PopulationQuery", "xml", // "Start document"); } else if (eventType == XmlPullParser.END_DOCUMENT) { // Utils.writeLogInfo("PopulationQuery", "xml", // "Start document"); } else if (eventType == XmlPullParser.START_TAG) { // Utils.writeLogInfo("PopulationQuery", "xml", "Start tag " // + parser.getName()); String nodeName = parser.getName(); if (nodeName.equals("Envelope")) { nTouched++; } else if (nodeName.equals("Body")) { nTouched++; } else if (nodeName.equals("baseQueryResponse")) { nTouched++; } else if (nodeName.equals("out")) { nTouched++; } } else if (eventType == XmlPullParser.END_TAG) { // Utils.writeLogInfo("PopulationQuery", "xml", "End tag " + // parser.getName()); String nodeName = parser.getName(); if (nodeName.equals("Envelope")) { nTouched--; } else if (nodeName.equals("Body")) { nTouched--; } else if (nodeName.equals("baseQueryResponse")) { nTouched--; } else if (nodeName.equals("out")) { nTouched--; } } else if (eventType == XmlPullParser.TEXT) { // Utils.writeLogInfo("PopulationQuery", "xml", "Text " + // parser.getText()); // 读取XML result = parser.getText(); } // 手动的触发下一个事件 eventType = parser.next(); } return result; } catch (Exception e) { e.printStackTrace(); }