模块 java.xml

接口 NodeFilter

所有已知的子接口:
LSSerializerFilter

public interface NodeFilter
过滤器是知道如何“过滤掉”节点的对象。如果 NodeIteratorTreeWalker 被赋予 NodeFilter ,它会在返回下一个节点之前应用过滤器。如果过滤器说接受节点,遍历逻辑返回它;否则,遍历寻找下一个节点并假装被拒绝的节点不存在。

DOM 不提供任何过滤器。 NodeFilter 只是一个接口,用户可以实现它来提供自己的过滤器。

NodeFilters不需要知道如何从一个节点遍历到另一个节点,也不需要知道任何关于正在遍历的数据结构的信息。这使得编写过滤器变得非常容易,因为他们唯一需要知道如何做的就是评估单个节点。一个过滤器可以用于多种不同类型的遍历,从而鼓励代码重用。

另见 文档对象模型 (DOM) 级别 2 遍历和范围规范

自从:
9、DOM 2级
  • 字段详细信息

    • FILTER_ACCEPT

      static final short FILTER_ACCEPT
      接受节点。为 NodeIteratorTreeWalker 定义的导航方法将返回此节点。
      参见:
    • FILTER_REJECT

      static final short FILTER_REJECT
      拒绝节点。为 NodeIteratorTreeWalker 定义的导航方法将不会返回此节点。对于 TreeWalker ,该节点的子节点也将被拒绝。 NodeIterators 将其视为 FILTER_SKIP 的同义词。
      参见:
    • FILTER_SKIP

      static final short FILTER_SKIP
      跳过这个单个节点。为 NodeIteratorTreeWalker 定义的导航方法将不会返回此节点。对于 NodeIteratorTreeWalker ,仍然会考虑该节点的子节点。
      参见:
    • SHOW_ALL

      static final int SHOW_ALL
      显示所有 Nodes
      参见:
    • SHOW_ELEMENT

      static final int SHOW_ELEMENT
      显示 Element 个节点。
      参见:
    • SHOW_ATTRIBUTE

      static final int SHOW_ATTRIBUTE
      显示 Attr 个节点。这仅在创建具有属性节点作为其 rootNodeIteratorTreeWalker 时才有意义;在这种情况下,这意味着属性节点将出现在迭代或遍历的第一个位置。由于属性永远不是其他节点的子节点,因此在遍历文档树时它们不会出现。
      参见:
    • SHOW_TEXT

      static final int SHOW_TEXT
      显示 Text 个节点。
      参见:
    • SHOW_CDATA_SECTION

      static final int SHOW_CDATA_SECTION
      显示 CDATASection 个节点。
      参见:
    • SHOW_ENTITY_REFERENCE

      static final int SHOW_ENTITY_REFERENCE
      显示 EntityReference 个节点。
      参见:
    • SHOW_ENTITY

      static final int SHOW_ENTITY
      显示 Entity 个节点。这仅在创建 NodeIteratorTreeWalker 且将 Entity 节点作为其 root 时才有意义;在这种情况下,这意味着Entity节点将出现在遍历的第一个位置。由于实体不是文档树的一部分,因此在遍历文档树时它们不会出现。
      参见:
    • SHOW_PROCESSING_INSTRUCTION

      static final int SHOW_PROCESSING_INSTRUCTION
      显示 ProcessingInstruction 个节点。
      参见:
    • SHOW_COMMENT

      static final int SHOW_COMMENT
      显示 Comment 个节点。
      参见:
    • SHOW_DOCUMENT

      static final int SHOW_DOCUMENT
      显示 Document 个节点。
      参见:
    • SHOW_DOCUMENT_TYPE

      static final int SHOW_DOCUMENT_TYPE
      显示 DocumentType 个节点。
      参见:
    • SHOW_DOCUMENT_FRAGMENT

      static final int SHOW_DOCUMENT_FRAGMENT
      显示 DocumentFragment 个节点。
      参见:
    • SHOW_NOTATION

      static final int SHOW_NOTATION
      显示 Notation 个节点。这仅在创建 NodeIteratorTreeWalker 且将 Notation 节点作为其 root 时才有意义;在这种情况下,这意味着Notation节点将出现在遍历的第一个位置。由于符号不是文档树的一部分,因此在遍历文档树时它们不会出现。
      参见:
  • 方法详情

    • acceptNode

      short acceptNode(Node  n)
      测试指定节点在 TreeWalkerNodeIterator 的逻辑视图中是否可见。该函数将由 TreeWalkerNodeIterator 的实现调用;它通常不会直接从用户代码中调用。 (尽管如果您想使用相同的过滤器来指导您自己的应用程序逻辑,您可以这样做。)
      参数:
      n - 要检查它是否通过过滤器的节点。
      返回:
      一个常量,用于确定节点是否被接受、拒绝或跳过,如上定义。