我正在使用SAX解析一些XML。在我的处理程序的startElement()方法中,我试图用以下内容读取名为xsi:type
的属性的值:
String type = attributes.getValue("xsi:type");
但是,它始终返回null
。这适用于其他一切,所以我假设这是由于名称空间前缀。我怎样才能得到这个值?
答案 0 :(得分:3)
这可能有所帮助,试着用这个来玩一点。这将返回找到的属性的名称和值,这对于查找用于查询的名称非常有用。
if (attributes.getLength() > 0) {
for (int i = 0; i < attributes.getLength(); i++) {
System.out.print ("name: " + attributes.getQName(i)));
System.out.println(" value: " + attributes.getValue(i)));
}
}
答案 1 :(得分:1)
尝试向SAX询问它认为属性的qName是什么:
for (int i=0; i < attributes.getLength(); i++) {
String qName = attributes.getQName(i);
System.out.println("qName for position " + i + ": " + qName);
}