我有以下XML:

<yweather:condition text="Fair" code="34" temp="21">


和Java代码:

NodeList titleList = e.getElementsByTagName("yweather");
Element titleElem = (Element) titleList.item(0);
Node titleNode = titleElem.getChildNodes().item(0);


我能够读取其他节点,但不能读取具有属性的节点。如何获得“临时”属性?

最佳答案

天气节点称为“条件”而不是“ yweather”,yweather是名称空间前缀。

所以:

NodeList titleList = e.getElementsByTagName("condition");


如果没有帮助,则有两个选择,用“ *”获取所有元素,并过滤tagName等于“ condition”的元素,或者您需要检查前缀“ yweather”的命名空间是什么(在xml文档的顶部),然后使用它。例如,如果

xmlns:yweather="http://www.yahoo"


然后使用:

NodeList titleList = e.getElementsByTagNameNS("http://www.yahoo","condition");

07-24 22:10