我试图了解如何使用Java读出XML文件。我想有一个XML标记,让我们调用它enable,将true传递给一个方法,另一个XML标记为另一个方法提供一个数字。我希望通过在我的XML文件中包含该行并将该数字作为valueofnumber传递来传递true。我正在读取XML文件,使用一系列if语句测试XML文件中的某些字符串:
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
if (localName.equals("enabled")){
currentConfig.setenabled(true);
}
else if (localName.equals("number")){
currentConfig.setnumber(Double.parseDouble(attributes.getValue("number")))
}
}
我对如何从XML文件中提取数字值感到困惑。目前我只是在尝试getIndex()时遇到错误,没有任何内容。
非常感谢
答案 0 :(得分:1)
您正在调用的getValue() method采用限定名称,即XML名称空间+本地名称,格式为:。您的XML文档可能使用了您必须提供的命名空间。如果没有命名空间,则可能需要使用other getValue() method并将null
传递给命名空间。这完全取决于您正在使用的解析器以及它的配置方式。建议您最好转到更高级别的解析库,为您解决这些细微差别:
编辑(基于XML示例)您的“数字”不是属性。这是一个嵌套元素。这就是你从Attributes对象中获取它的原因。我对其他图书馆的其他建议仍然存在。