如何访问xml中标签中的数据使用开始和结束标签中的数据解析数据?
问题描述:
我要寻找一个答案,我可以从下面的格式给出标签从XML文件中获取数据的解决方案: -如何访问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)条件,循环永远不会进入任何人都可以告诉我相同的解决方案。再次感谢提前。
答
尝试正确的解析器而不是编写自己的代码。 JAXB是一个非常好的选择。它需要一些设置,但一旦完成,解析XML是直接的
好吧,让我试试看 –