scala.xml

pull

package pull

Classes needed to view an XML document as a series of events. The document is parsed by an XMLEventReader instance. You can treat it as an Iterator to retrieve the events, which are all subclasses of XMLEvent.

scala> val source = Source.fromString("""<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?instruction custom value="customvalue"?>
<!DOCTYPE foo [
  <!ENTITY bar "BAR">
]><foo>Hello<bar>&bar;</bar><bar>&gt;</bar></foo>""")

source: scala.io.Source = non-empty iterator

scala> val reader = new XMLEventReader(source)
reader: scala.xml.pull.XMLEventReader = non-empty iterator

scala> reader.foreach{ println(_) }
EvProcInstr(instruction,custom value="customvalue")
EvText(
)
EvElemStart(null,foo,,)
EvText(Hello)
EvComment( this is a comment )
EvElemStart(null,bar,,)
EvText(BAR)
EvElemEnd(null,bar)
EvElemStart(null,bar,,)
EvEntityRef(gt)
EvElemEnd(null,bar)
EvElemEnd(null,foo)
EvText(

)

Visibility
  1. Public
  2. All

Type Members

  1. case class EvComment (text: String) extends XMLEvent with Product with Serializable

    A comment was encountered

  2. case class EvElemEnd (pre: String, label: String) extends XMLEvent with Product with Serializable

    An Element's end tag was encountered.

  3. case class EvElemStart (pre: String, label: String, attrs: MetaData, scope: NamespaceBinding) extends XMLEvent with Product with Serializable

    An Element's start tag was encountered.

  4. case class EvEntityRef (entity: String) extends XMLEvent with Product with Serializable

    An entity reference was encountered.

  5. case class EvProcInstr (target: String, text: String) extends XMLEvent with Product with Serializable

    A processing instruction was encountered.

  6. case class EvText (text: String) extends XMLEvent with Product with Serializable

    A text node was encountered.

  7. trait ProducerConsumerIterator [T >: Null] extends Iterator[T]

  8. trait XMLEvent extends AnyRef

    An XML event for pull parsing.

  9. class XMLEventReader extends ProducerConsumerIterator[XMLEvent]

    Main entry point into creating an event-based XML parser.