模块 java.xml

接口 AttributeList

所有已知的实现类:
AttributeListImpl

@Deprecated (since ="1.5") public interface AttributeList
已弃用。
此接口已被 SAX2 Attributes 接口取代,其中包括命名空间支持。
元素属性规范的接口。

这是用于报告元素属性的原始 SAX1 接口。与新的Attributes 接口不同,它不支持Namespace相关信息。

当属性列表作为 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
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    int
    已弃用。
    返回此list中的属性数。
    getName(int i)
    已弃用。
    返回此list中属性的名称(按位置)。
    getType(int i)
    已弃用。
    返回列表中属性的类型(按位置)。
    getType(String name)
    已弃用。
    返回列表中属性的类型(按名称)。
    getValue(int i)
    已弃用。
    返回列表中属性的值(按位置)。
    已弃用。
    返回列表中属性的值(按名称)。
  • 方法详情

    • getLength

      int getLength()
      已弃用。
      返回此list中的属性数。

      它们声明或指定的顺序如何。属性的数量可以为零。

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

      String  getName(int i)
      已弃用。
      返回此list中属性的名称(按位置)。

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

      如果属性名有命名空间前缀,前缀仍然会被附加。

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

      String  getType(int i)
      已弃用。
      返回列表中属性的类型(按位置)。

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

      如果解析器没有读取属性的声明,或者如果解析器没有报告属性类型,那么它必须返回值“CDATA”,如 XML 1.0 Recommentation 中所述(第 3.3.3 条,“属性值规范化” ).

      对于不是表示法的枚举属性,解析器会将类型报告为“NMTOKEN”。

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

      String  getValue(int i)
      已弃用。
      返回列表中属性的值(按位置)。

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

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

      String  getType(String  name)
      已弃用。
      返回列表中属性的类型(按名称)。

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

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

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

      String  getValue(String  name)
      已弃用。
      返回列表中属性的值(按名称)。

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

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

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