在我的Android应用程序中,用户需要扫描印度Aadhar QR代码。读取QR代码后,它将返回以下响应。我不能解析它。请帮我把这个修好
String xml = "<?xml version="1.0" encoding="UTF-8"?>
<PrintLetterBarcodeData uid="00X575452391"
name="XX"
gender="M"
yob="1992"
gname="XX"
co="S/O: XX"
house="4-175"
street="XX"
lm="XX"
vtc="XX"
po="XX"
dist="XX"
subdist="XX"
state=""
pc="XX"
dob="XX/XX/XXXX"/>"编辑1:添加了我尝试过的XML解析。
我试过了this solution。但是,这帮不了我
try{
JSONObject xmlJSONObj = XML.toJSONObject(xml);
String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);
System.out.println(jsonPrettyPrintString);
} catch (JSONException je) {
System.out.println(je.toString());
}编辑2:我已经用这段代码自己修复了它
public String xmlParser(String xml) {
try{
JSONObject xmlJSONObj = XML.toJSONObject(xml);
return xmlJSONObj.toString(0);
} catch (JSONException je) {
return null;
}
}要使用XML.toJSONObject,,首先需要下载并将其包含在项目中。您可以使用这个链接找到一个可下载的jar:
http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
将下载的文件放在app/libs文件夹中,然后添加依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])然后您可以使用以下代码
发布于 2020-01-23 04:29:41
查看下面的链接,了解XML格式(aadhaar卡解析)。
https://github.com/GovindaPaliwal/Aadhaar-Card-Reader
重要备注:这是旧的XML格式(aadhaar卡QR代码)。UIDAI不时更新那里的QR代码逻辑。现在每天他们提供2种类型的QR码卡。即
两者都是由UIDAI数字签名的。
https://stackoverflow.com/questions/50134541
复制相似问题