21.2. Klasa scala.xml.Node

Klasa scala.xml.Node reprezentuje węzły XML-owe.

scala> val j: scala.xml.Node = <a><b>xyz</b><c/></a>
j: scala.xml.Node = <a><b>xyz</b><c/></a>

Metoda child tej klasy zwraca sekwencję węzłów będących dziećmi danego węzła.

scala> val j1 = j.child
j1: Seq[scala.xml.Node] = ArrayBuffer(<b>xyz</b>, <c/>)

Metoda descendant zwraca listę potomków węzła.

scala> val j2 = j.descendant
j2: List[scala.xml.Node] = List(<b>xyz</b>, xyz, <c/>)

Metoda descendant_or_self zwraca listę zawierającą sam węzeł i jego potomków.

scala> val j3 = j.descendant_or_self
j3: List[scala.xml.Node] = List(<a><b>xyz</b><c/></a>, <b>xyz</b>, xyz, <c/>)

Metoda attributes zwraca strukturę danych, która zawiera informacje o atrybutach węzła. Metoda attribute, zwracająca wynik typu Option[Seq[Node]], pozwala na dostęp do wartości konkretnego atrybutu.

scala> val x = <a id="aa" class="bb"/>
x: scala.xml.Elem = <a id="aa" class="bb"/>

scala> x.attributes
res0: scala.xml.MetaData =  id="aa" class="bb"

scala> x.attribute("aa")
res1: Option[Seq[scala.xml.Node]] = None
scala> x.attribute("id")
res2: Option[Seq[scala.xml.Node]] = Some(aa)

Specyfikacja języka Scala opisuje klasę Node w punkcie 12.4.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.