【发布时间】:2014-04-25 09:58:18
【问题描述】:
我正在寻找一个答案,我可以从以下格式给出的标签中获取从 xml 文件中获取数据的解决方案:-
<Main>
<Item>
<id>1</id>
<content>Hiii this is Id 1's content.</content>
</Item>
<Item>
<id>2</id>
<content>Hiii this is Id 2's content.</content>
</Item>
<Item>
<id>3</id>
<content>Hiii this is Id 3's content.</content>
</Item>
<Item>
<id>4</id>
<content>Hiii this is Id 4's content.</content>
</Item>
<Item>
<id>5</id>
<content>Hiii this is Id 5's content.</content>
</Item>
</Main>
我想要做的是根据我从捆绑包中获取的 ID 访问数据。我使用的代码如下。
try {
InputStream is = getActivity().getAssets().open("single_item.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("item");
for (int temp = 0; temp < nList.getLength(); temp++) {
GetEementNode = nList.item(temp);
if (GetEementNode.getNodeType() == Node.ELEMENT_NODE) {
eElement = (Element) GetEementNode;
String idCheck = eElement.getElementsByTagName("id").item(temp).getTextContent();
if(idCheck.equals(idsgot)){
String informationData = eElement.getElementsByTagName("content").item(temp).getTextContent();
information.setText(informationData);
}
}
}
} catch (Exception e) {
}
这里的“idsgot”是我从包中获得的 id。但是即使 (GetEementNode.getNodeType() == Node.ELEMENT_NODE) 条件也不会进入循环,任何人都可以告诉我相同的解决方案。再次提前致谢。
【问题讨论】:
标签: android xml xml-parsing domparser