Android的解析有這個XML,我必須獲得一定的信息從,格式是:通過XML
<Tag1
name="something"
target="something">
<param name="url">Some url</param>
<param name="tag">Some tag</param>
</Tag1>
事情是我必須首先檢查「有些網址」包含在參數名稱=「URL」是否存在(因爲一些xml條目可能不包含它),如果它,獲得Tag1名稱,有什麼建議?
編輯:
是不是在辦公室的時候,我張貼的問題,這裏是我目前使用的代碼(也能得到PARAM NAME =「URL」裏面的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());
}
}
}
}
}
現在的問題是,當xml條目有param name =「url」和param name =「tag」時,我會同時返回URL和Tag,並且只需要捕獲URL(因爲有時候param name =「tag」是高於param name =「url」),我試過使用
if (element3.getAttribute("Url") != null
指定它應該只捕獲url,但顯然它不會做任何事情,因爲它通過param name =「tag」比較。對此有何建議?提前致謝。
你到目前爲止嘗試過什麼? – Selvin
歡迎來到StackOverflow!你的問題非常含糊,並沒有顯示你到目前爲止嘗試過的代碼。看看[this](https://stackoverflow.com/help/how-to-ask)鏈接,瞭解如何提出更好的幫助問題 –