如果XML文件本地存储在我的机器上,我可以获得我想要的信息,但是当存储在手机上时读取它并不是很好。
我已经尝试过XMLPullParser,但它提取了有关id名称等的二进制信息,我想要实际名称。
代码:
final String ANDROID_ID = "android:id";
try {
File fXmlFile = new File("res/layout/page1.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Button");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if (eElement.hasAttribute(ANDROID_ID))
System.out.println("ID: "
+ eElement.getAttribute(ANDROID_ID));
}
}
}
catch (Exception e) {
System.out.println("Catch");
e.printStackTrace();
}
答案 0 :(得分:0)
有一个可能有用的getAttributeCount()和getAttributeByName(int index)。您必须在START_TAG
答案 1 :(得分:0)
通过XML解析这个link描述得很好。在这里,您可以使用xmlPullParser
找到其他解析器。