Module java.xml
Package org.xml.sax

Interface AttributeList

所有已知的实现类:
AttributeListImpl

@Deprecated(since="1.5") public interface AttributeList
Deprecated.
This interface has been replaced by the SAX2 Attributes interface, which includes Namespace support.
元素属性规范的接口。

这是用于报告元素属性的原始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");
   [...]
 }
 
自版本:
1.4, SAX 1.0
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    已弃用。
    返回此列表中属性的数量。
    getName(int i)
    已弃用。
    返回此列表中属性的名称(按位置)。
    getType(int i)
    已弃用。
    返回列表中属性的类型(按位置)。
    getType(String name)
    已弃用。
    返回列表中属性的类型(按名称)。
    getValue(int i)
    已弃用。
    返回列表中属性的值(按位置)。
    getValue(String name)
    已弃用。
    返回列表中属性的值(按名称)。
  • Method Details

    • getLength

      int getLength()
      Deprecated.
      返回此列表中属性的数量。

      SAX解析器可以以任意顺序提供属性,而不管它们声明或指定的顺序。属性的数量可能为零。

      返回:
      列表中属性的数量。
    • getName

      String getName(int i)
      Deprecated.
      返回此列表中属性的名称(按位置)。

      名称必须是唯一的:SAX解析器不得两次包含相同的属性。没有值的属性(在开始标记中声明为#IMPLIED但未指定值的属性)将从列表中省略。

      如果属性名称在文档中具有命名空间前缀,则前缀仍将附加。

      参数:
      i - 列表中属性的索引(从0开始)。
      返回:
      索引属性的名称,如果索引超出范围,则返回null。
      参见:
    • getType

      String getType(int i)
      Deprecated.
      返回此列表中属性的类型(按位置)。

      属性类型是字符串“CDATA”、“ID”、“IDREF”、“IDREFS”、“NMTOKEN”、“NMTOKENS”、“ENTITY”、“ENTITIES”或“NOTATION”(始终大写)之一。

      如果解析器尚未读取属性的声明,或者解析器不报告属性类型,则必须返回值“CDATA”,如XML 1.0推荐(第3.3.3节,“属性值规范化”)中所述。

      对于不是符号的枚举属性,解析器将报告类型为“NMTOKEN”。

      参数:
      i - 列表中属性的索引(从0开始)。
      返回:
      属性类型作为字符串,如果索引超出范围,则返回null。
      参见:
    • getValue

      String getValue(int i)
      Deprecated.
      返回此列表中属性的值(按位置)。

      如果属性值是标记列表(IDREFS、ENTITIES或NMTOKENS),则将这些标记连接成一个由空格分隔的单个字符串。

      参数:
      i - 列表中属性的索引(从0开始)。
      返回:
      属性值作为字符串,如果索引超出范围,则返回null。
      参见:
    • getType

      String getType(String name)
      Deprecated.
      返回此列表中属性的类型(按名称)。

      返回值与getType(int)的返回值相同。

      如果属性名称在文档中具有命名空间前缀,则应用程序必须在此处包含前缀。

      参数:
      name - 属性的名称。
      返回:
      属性类型作为字符串,如果不存在此类属性,则返回null。
      参见:
    • getValue

      String getValue(String name)
      Deprecated.
      返回此列表中属性的值(按名称)。

      返回值与getValue(int)的返回值相同。

      如果属性名称在文档中具有命名空间前缀,则应用程序必须在此处包含前缀。

      参数:
      name - 要返回的属性的名称
      返回:
      属性值作为字符串,如果不存在此类属性,则返回null。
      参见: