public interface AttributeList
org.xml.sax.AttributeList |
Known Indirect Subclasses |
该接口在API级别1中已被弃用。
该接口已被SAX2 Attributes
接口取代,该接口包含命名空间支持。
元素属性规范的接口。
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
这是用于报告元素属性的原始SAX1接口。 与新的Attributes
接口不同,它不支持与命名空间相关的信息。
当属性列表作为startElement
事件的一部分提供时,列表将仅在事件范围内返回有效结果; 一旦事件处理程序将控制权返回给解析器,属性列表就无效。 要保存属性列表的持久副本,请使用SAX1 AttributeListImpl
辅助类。
属性列表仅包含已指定或默认的属性:#IMPLIED属性将不包括在内。
SAX应用程序有两种方式从AttributeList中获取信息。 首先,它可以遍历整个列表:
public void startElement (String name, AttributeList atts) { for (int i = 0; i < atts.getLength(); i++) { String name = atts.getName(i); String type = atts.getType(i); String value = atts.getValue(i); [...] } }
(请注意,如果没有属性,getLength()的结果将为零。)
作为替代方案,应用程序可以请求特定属性的值或类型:
public void startElement (String name, AttributeList atts) { String identifier = atts.getValue("id"); String label = atts.getValue("label"); [...] }
也可以看看:
Public methods |
|
---|---|
abstract int |
getLength() 返回此列表中的属性数量。 |
abstract String |
getName(int i) 返回此列表中属性的名称(按位置)。 |
abstract String |
getType(String name) 返回列表中属性的类型(按名称)。 |
abstract String |
getType(int i) 返回列表中属性的类型(按位置)。 |
abstract String |
getValue(String name) 返回列表中属性的值(按名称)。 |
abstract String |
getValue(int i) 返回列表中属性的值(按位置)。 |
int getLength ()
返回此列表中的属性数量。
SAX解析器可以以任意顺序提供属性,而不管它们被声明或指定的顺序如何。 属性的数量可能为零。
Returns | |
---|---|
int |
The number of attributes in the list. |
String getName (int i)
返回此列表中属性的名称(按位置)。
这些名称必须是唯一的:SAX解析器不得包含两次相同的属性。 没有值的属性(那些声明了#IMPLIED,没有在开始标签中指定的值)将被从列表中省略。
如果属性名称具有名称空间前缀,则前缀仍将被附加。
Parameters | |
---|---|
i |
int : The index of the attribute in the list (starting at 0). |
Returns | |
---|---|
String |
The name of the indexed attribute, or null if the index is out of range. |
也可以看看:
String getType (String name)
返回列表中属性的类型(按名称)。
返回值与getType(int)的返回值相同。
如果属性名称在文档中具有名称空间前缀,则应用程序必须在此处包含前缀。
Parameters | |
---|---|
name |
String : The name of the attribute. |
Returns | |
---|---|
String |
The attribute type as a string, or null if no such attribute exists. |
也可以看看:
String getType (int i)
返回列表中属性的类型(按位置)。
属性类型是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”或“NOTATION”中的一个(始终为大写) 。
如果解析器没有读取属性的声明,或者解析器没有报告属性类型,那么它必须按照XML 1.0重建(第3.3.3节“属性值标准化”中所述返回值“CDATA” )。
对于不是符号的枚举属性,解析器将报告类型为“NMTOKEN”。
Parameters | |
---|---|
i |
int : The index of the attribute in the list (starting at 0). |
Returns | |
---|---|
String |
The attribute type as a string, or null if the index is out of range. |
String getValue (String name)
返回列表中属性的值(按名称)。
返回值与getValue(int)的返回值相同。
如果属性名称在文档中具有名称空间前缀,则应用程序必须在此处包含前缀。
Parameters | |
---|---|
name |
String : the name of the attribute to return |
Returns | |
---|---|
String |
The attribute value as a string, or null if no such attribute exists. |
也可以看看:
String getValue (int i)
返回列表中属性的值(按位置)。
如果属性值是标记列表(IDREFS,ENTITIES或NMTOKENS),则标记将被连接成由空格分隔的单个字符串。
Parameters | |
---|---|
i |
int : The index of the attribute in the list (starting at 0). |
Returns | |
---|---|
String |
The attribute value as a string, or null if the index is out of range. |