gibt es diese XML, die ich habe bestimmte Informationen zu erhalten, aus, das Format ist:Android Parse durch xml
<Tag1
name="something"
target="something">
<param name="url">Some url</param>
<param name="tag">Some tag</param>
</Tag1>
die Sache ist, ich muss zuerst überprüfen, ob „Einige url“ enthalten in param name = „url“ existiert (wie einige XML-Einträge es möglicherweise nicht einschließen) und, wenn es tut, Tag1 Name, irgendwelche Vorschläge erhalten?
Edit:
War im Büro nicht, wenn ich Frage gestellt, hier ist der Code, den ich zur Zeit bin mit (auch, konnte die URL innerhalb param name bekommen = "url")
InputStream inputStream = getActivity().getAssets().open("some_xml.xml");
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(inputStream);
Element element = document.getDocumentElement();
element.normalize();
NodeList nodeList = document.getElementsByTagName("Tag1");
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element2 = (Element) node;
if (element2.getElementsByTagName("param") != null){
NodeList innerNodes = element2.getElementsByTagName("param");
for (int j = 0; j < innerNodes.getLength(); j++){
Element element3 = (Element) innerNodes.item(j);
Log.d("XMLNode", element3.getNodeName());
Node child = element3.getFirstChild();
if (child instanceof CharacterData) {
CharacterData characterData = (CharacterData) child;
Log.d("XMLURL", characterData.getData());
}
}
}
}
}
jetzt das Problem ist, dass wenn der XML-Eintrag Param name = "url" und param name = "tag" Ich bekomme sowohl die URL und Tag zurückgegeben und müssen nur die URL (wie manchmal param name = "tag" fangen ist über param name = "url"), versuchte ich mit
if (element3.getAttribute("Url") != null
um anzugeben, dass es nur die URL abfangen soll, aber anscheinend tut es nichts, da es auf dem param name = "tag" Vergleich durchgeht. Irgendwelche Vorschläge dazu? Danke im Voraus.
Was Sie bisher versucht hatte? – Selvin
Willkommen bei StackOverflow! Ihre Frage ist ziemlich vage und zeigt nicht, welchen Code Sie bisher ausprobiert haben. Sehen Sie sich den Link [this] (https://stackoverflow.com/help/how-to-ask) an, um zu erfahren, wie Sie eine gute Frage stellen können, um weitere Hilfe zu erhalten –