我正在开发一个android应用程序,我想从url解析两个节点, 奈 12 我想解析城市名称和相应的id并在微调器中显示,当我在微调器中选择特定的城市时,在警告框中显示相应的id,怎么办,请指导我
谢谢
答案 0 :(得分:1)
如果你是xml就是这样,
<channel>
<link>
<title> Test Values</title>
<item>
<cityid>
12</cityid>
<cityname>
chennai
</cityname>
</item>
</link>
</channel>
然后使用DOM或SAX解析这些标记并将其存储在像这样的数组
中对于Instance,如果要使用DOM Parser,请参阅此代码
步骤1:创建一个方法来解析城市标识并创建一个数组来存储该解析的值
String[] cityid=null;
public void parse_id() throws UnknownHostException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(this.getInputStream());
org.w3c.dom.Element root = dom.getDocumentElement();
NodeList items = root.getElementsByTagName("item);
int a=items.getLength();
int k=0;
bstagid=new String[a];
for (int i = 0; i < items.getLength(); i++) {
Message_category message = new Message_category();
Node item = items.item(i);
NodeList properties = item.getChildNodes();
for (int j = 0; j < properties.getLength(); j++) {
Node property = properties.item(j);
String name = property.getNodeName();
if (name.equalsIgnoreCase(cityid)) {
message.setId(property.getFirstChild()
.getNodeValue());
cityid[k]=property.getFirstChild().getNodeValue();
k++;
}
}
}
} catch (Exception e) { }
}
同样的城市名称, 然后在微调器中,使用ArrayAdapter,如果显示chennai然后将其作为cityname数组的元素引用,那么你可以参考cityid数组的第n个元素,用城市名称映射城市id,就像这样..