Scala'yı kullanarak bir xml belgesini akış olarak nasıl ayrıştırırım? Bunu gerçekleştirmek için Stax API'sini java'da kullandım, ancak bunu yapmak için bir "scala" yolu olup olmadığını bilmek istiyorum.Scala'yı kullanarak bir xml belgesini akış olarak nasıl ayrıştırırım?
cevap
Kullanım paket scala.xml.pull ... başkaları da var. Scala 2.8 için Scaladoc alınan snippet'ine: Sen gerçek Iterator
veya Stream
bir olsun er
üzerine toIterator
veya toStream
çağırabilir
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)
}
}
.
Ve biraz farklı olan 2.7 sürümü var. Ancak, test Scala 2.8'den farklı olarak akışın sonunu tespit etmediğini gösteriyor gibi görünüyor.
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)
}
}
Kodumu val er = new XMLEventReader(). Initialize (src) olarak değiştirmem gerekiyordu, ancak çalışıyor gibi görünüyor. Teşekkürler! – ScArcher2
2.7 xml.pull vahşice vaftiz edilmiş ve tamamen cesurca ama hepsi tarafından kaçınılmalıdır. 2.8 durum çok gelişti. –
scala.xml.pull, şu anda bile hala harika değil; Bunu kullanımdan kaldırmayı önerdim: 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)
Tüm belgeyi belleğe yüklemez mi? Onu ayrıştırmak ve onu aldığım gibi ele alıp tüm belgeyi önce bellekte saklamak istemiyorum. – ScArcher2
@ ScArcher2: Evet, bunlar akış API'leri değil. –
- 1. Javascript'te bir XML belgesini nasıl kopyalarım?
- 2. XML belgesini Python'da RELAX NG şemasını kullanarak nasıl doğrularım?
- 3. PDF belgesini PDF belgesini kullanarak ReportLab (Python) kullanarak
- 4. Bir XML belgesini ayrıştırmak ve döndürmek için Nokogiri'yi nasıl alabilirim?
- 5. Optik akış kullanarak optik akış
- 6. C# içinde bir XML belgesini DTD'ye karşı nasıl doğrularım?
- 7. Açık XML ile bir Excel belgesini nasıl parola ile koruruz
- 8. AS3'te bir XML belgesini nasıl en aza indirebilirim/küçültebilirim
- 9. OpenOffice Draw belgesini nasıl oluştururum?
- 10. Python'u kullanarak json nesnesini nasıl ayrıştırırım?
- 11. YAML dosyasını nasıl groovy olarak ayrıştırırım?
- 12. Inno Kurulumu: XML belgesini girintili kaydetme
- 13. Bir XML Belgesini doğrulamak için Xerces-j'yi kullanma
- 14. Programsal Olarak DocuSign belgesini onayla
- 15. Çocuk düğümlerini nasıl ayrıştırırım?
- 16. EPPlus kullanarak Excel belgesini açma
- 17. YAML dosyasını nasıl ayrıştırırım?
- 18. VCard'ı bir Python sözlüğüne nasıl ayrıştırırım?
- 19. Kısa bir [] akış kullanarak oluşturma
- 20. Bir XML şema belgesini bir SQL Server'ın tablonun sütununa XML veri türü
- 21. Bir xml belgesini C# içinde XPath kullanarak düğümlerin bir alt kümesine filtreleyebilir misiniz?
- 22. xml.etree kullanarak XML bildirimi nasıl yazılır.ElementTree
- 23. Bir docx belgesini php kullanarak html'ye nasıl dönüştürebilirim?
- 24. xml biçimli akış çıkışı GEPHI-TOOLKIT
- 25. LXML kullanarak bir XML etiketi için özyinelemeli olarak nasıl bulunur?
- 26. Bu tür ifadeleri nasıl ayrıştırırım?
- 27. C# içinde çevreleyen bir liste öğesi olmayan bir öğe listesi içeren bir XML belgesini nasıl serileştirebilirim
- 28. tcpdf - mevcut PDF belgesini kullanarak başla
- 29. Akış ayrıştırması PHP'de 4 GB XML dosyası
- 30. Python'da bir HTTP tarih dizesini nasıl ayrıştırırım?
Herkes "merhaba dünya" ayrıştırmaktan daha karmaşık/tam bir örnek biliyor mu? – ScArcher2
Bu şeyi biliyordum çünkü bir zamanlar konuştuğum biri kullanıyordu. Ne yapmaya çalışıyorsun ve onunla ne gibi sorunlar yaşıyorsun? Daha fazla soru sor. Bir sonraki kişinin onu kullanmak istemesini kolaylaştırır. :-) –