太久没有解析过xml,突然xml解析居然不会解嵌套几成根名相同的东西了,巴拉巴拉百度都没找到,找笔记无果,乖乖查文档,也是醉醉的,善于利用网络,省得作死找笔记,查文档 = =
xml格式如下:
1
3
3
4
6
289
49
9
25
解析:
解析String字符串
String attachmentBaseData;
DocumentDateUtils documentDate = new DocumentDateUtils(attachmentBaseData);
DocumentDateUtils Class:
public boolean getDownLoadFileDate(Context context) throws TechException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
Document doc = null;
String a,b,c,d,e;
try {
builder = factory.newDocumentBuilder();
//InputStream open = getAssets().open("aa.xml");
//doc = builder.parse(new ByteArrayInputStream(mDate.getBytes()));
doc = builder.parse(new ByteArrayInputStream(mDate.getBytes()));
devInfo = doc.getElementsByTagName("a").item(0).getFirstChild().getNodeValue();
checkRule = doc.getElementsByTagName("b").item(0).getFirstChild().getNodeValue();
devicesID = doc.getElementsByTagName("c").item(0).getFirstChild().getNodeValue();
appSign = doc.getElementsByTagName("d").item(0).getFirstChild().getNodeValue();
pluginHash = doc.getElementsByTagName("e").item(0).getFirstChild().getNodeValue();
NodeList nodeList = doc.getElementsByTagName(PluginConstants.PluginXmlFileHeader.OTP_AUTH_I).item(0).getChildNodes();
List val = new ArrayList<>();
for (int i = 0; i < nodeList.getLength(); i++) {
Node item = nodeList.item(i);
if (item instanceof Element) {
String nodeName = item.getNodeName();
String nodeValue = item.getFirstChild().getNodeValue();
val.add(nodeValue);
}
}
String a1 = val.get("a");
String b1 = val.get("b");
String c1 = val.get("c");
String d1 = val.get("d");
} catch (ParserConfigurationException e) {
e.printStackTrace();
throw new TechException(TechException.PARSER_CONFIGURATION_EXCEPTION);
} catch (SAXException e) {
e.printStackTrace();
throw new TechException(TechException.SAXE_EXCEPTION);
} catch (IOException e) {
e.printStackTrace();
throw new TechException(TechException.IO_EXCEPTION);
}
}
String字符串解析前写到了一个文件里面,进行了继续看是否正确:
1.main文件夹下面创建一个【assets】文件夹,创建文件aa,文件内添加xml文本
InputStream open = getAssets().open("aa.xml");