¿Cómo puedo analizar un documento xml como una secuencia usando Scala? He utilizado la API Stax en Java para lograr esto, pero me gustaría saber si hay una forma de "scala" para hacer esto.¿Cómo analizo un documento xml como una secuencia usando Scala?
Respuesta
Uso paquete scala.xml.pull. Fragmento tomado de la Scaladoc de Scala 2.8:
import scala.xml.pull._
import scala.io.Source
object reader {
val src = Source.fromString("<hello><world/></hello>")
val er = new XMLEventReader(src)
def main(args: Array[String]) {
while (er.hasNext)
Console.println(er.next)
}
}
Puede llamar toIterator
o toStream
en er
para conseguir una verdadera Iterator
o Stream
.
Y aquí está la versión 2.7, que es ligeramente diferente. Sin embargo, la prueba parece indicar que no detecta el final de la secuencia, a diferencia de Scala 2.8.
import scala.xml.pull._
import scala.io.Source
object reader {
val src = Source.fromString("<hello><world/></hello>")
val er = new XMLEventReader().initialize(src)
def main(args: Array[String]) {
while (er.hasNext)
Console.println(er.next)
}
}
Tuve que cambiar mi código a val er = new XMLEventReader(). Initialize (src), pero parece que está funcionando. ¡Gracias! – ScArcher2
el 2.7 xml.pull está salvajemente borracho y debe evitarse por completo, excepto por los muy valientes. 2.8 situación es mucho mejor. –
scala.xml.pull todavía no es genial incluso ahora; Propuse desaprobarlo: https://github.com/scala/scala-xml/issues/193 –
scala.xml.XML.loadFile(fileName: String)
scala.xml.XML.load(url: URL)
scala.xml.XML.load(reader: Reader)
scala.xml.XML.load(stream: InputStream)
hay otros ...
¿No cargará todo el documento en la memoria? Me gustaría analizarlo y manejarlo cuando lo reciba y no almacenar todo el documento en la memoria primero. – ScArcher2
@ ScArcher2: Sí, no son API de transmisión. –
- 1. ¿Cómo analizo XML en Python?
- 2. Usando XPath para analizar un documento XML
- 3. Objeto PHP como documento XML
- 4. En Java, ¿cómo analizo XML como una cadena en lugar de un archivo?
- 5. ¿Cómo crear un documento XML utilizando XmlDocument?
- 6. ¿Cómo analizo un archivo .mdmp?
- 7. Incrustar un documento xml dentro de una cadena xml
- 8. ¿Cómo analizo json-object usando python?
- 9. quitar declaración XML del documento XML generado usando java
- 10. ¿Cómo analizo un archivo .hprof?
- 11. esquema xml y usando una opción como la raíz del documento
- 12. ¿Cómo obtener respuesta como documento XML con Apache Httpclient api?
- 13. escritura literal XML como parámetro en Scala
- 14. ¿Cómo seleccionar valores distintos del documento XML usando XPATH?
- 15. XML IDREF ¿otro documento XML?
- 16. Problema al generar un documento XML usando TXMLDocument
- 17. ¿Cómo valido un documento XML contra una DTD en C#?
- 18. ¿Cómo inspeccionar un objeto en una secuencia de comandos como en la consola scala?
- 19. ¿Cómo visualizo XML usando un documento XSLT en una aplicación Delphi?
- 20. Convirtiendo un documento XML a un diccionario
- 21. ¿Agregar un documento xml a un nodo xml en C#?
- 22. Parse XML usando un XSD en PHP
- 23. ¿Cómo analizo una VCard en un diccionario de Python?
- 24. Un ejemplo de procesamiento xml pero usando anti-xml en lugar de Scala xml
- 25. ¿Cómo analizo una cadena de fecha inusual
- 26. ¿Cómo obtener un Iterator [Node] de transmisión desde un documento XML grande?
- 27. ¿Cuál es una buena manera de encontrar un valor específico en un documento XML usando C#?
- 28. XML a JSON con Scala
- 29. Secuencia con flujos en Scala
- 30. Extraer un elemento XML desde un archivo XML usando XPath
¿Alguien sabe de un ejemplo más complejo/completo que el análisis "hello world"? – ScArcher2
Sabía de esto porque alguien con quien una vez hablé estaba usándolo. ¿Qué estás tratando de hacer, y qué problemas tienes con eso? Haga más preguntas. Lo hará más fácil para la próxima persona que quiera usarlo. :-) –