Für die Verwendung einer 3rd-Party-Bibliothek brauche ich ein W3C-DOM-Dokument. Das Erstellen der XML-Knoten ist in Scala jedoch einfacher. Ich suche nach einer Möglichkeit, ein scala xml-Element in w3c dom zu konvertieren. Offensichtlich kann ich zu einer Schnur serialisieren und sie analysieren, aber ich suche nach etwas performanterem.Jede Konvertierung von Scalas XML zu W3c DOM?
9
A
Antwort
6
Hier ist eine einfache (keine Namespaces) Version, auf der Sie aufbauen können. Sollte die Idee geben. Ersetzen Sie einfach die Aufrufe von doc.createFoo (...) mit ihren entsprechenden doc.createFooNS (...) Einsen. Außerdem könnte eine intelligentere Handhabung der Attribute erforderlich sein. Aber das sollte für einfache Aufgaben funktionieren.
object ScalaDom {
import scala.xml._
import org.w3c.dom.{Document => JDocument, Node => JNode}
import javax.xml.parsers.DocumentBuilderFactory
def dom(n: Node): JDocument = {
val doc = DocumentBuilderFactory
.newInstance
.newDocumentBuilder
.getDOMImplementation
.createDocument(null, null, null)
def build(node: Node, parent: JNode): Unit = {
val jnode: JNode = node match {
case e: Elem => {
val jn = doc.createElement(e.label)
e.attributes foreach { a => jn.setAttribute(a.key, a.value.mkString) }
jn
}
case a: Atom[_] => doc.createTextNode(a.text)
case c: Comment => doc.createComment(c.commentText)
case er: EntityRef => doc.createEntityReference(er.entityName)
case pi: ProcInstr => doc.createProcessingInstruction(pi.target, pi.proctext)
}
parent.appendChild(jnode)
node.child.map { build(_, jnode) }
}
build(n, doc)
doc
}
}
Verwandte Themen
- 1. NoClassDefFoundError: org/w3c/dom/ElementTraversal
- 2. XML zu Orakel-Konvertierung
- 3. EDI zu XML Konvertierung
- 4. Linq zu XML vs DOM
- 5. Wie simuliere ich w3c Dom API in Codenameone
- 6. XML Parsing von Dom-Liste zu einer XML-Datei
- 7. Konvertierung von xml DOMDocument in string
- 8. Staxon - Probleme mit XML zu JSON Konvertierung
- 9. Excel zu XML-Konvertierung ado mit
- 10. Benutzerdefinierte JSON zu XML-Konvertierung mit JSON.Net
- 11. Beschreiben Sie wiederkehrende XML-Knoten im W3C-XML-Schema?
- 12. W3C DOM API in Java, untergeordnete Elemente nach Namen erhalten
- 13. Was ist ein effizienter Weg, um ein W3C-DOM programmatisch in Java zu erstellen?
- 14. PHP XML DOM übersetzt Sonderzeichen zu YY;
- 15. android Konvertierung von XML-Ansicht zu Bitmap ohne es anzuzeigen
- 16. Excel Konvertierung von SpreadsheetML zu Open XML (XLSX)
- 17. Konvertierung von XML zu JSON: leeres Array statt leerer String
- 18. Konvertierung von SVG-Datei in XML-Datei
- 19. JSON Konvertierung in XML mithilfe von XSLT
- 20. Parse XML Dom mit PHP
- 21. DOM XML Parser Beispiel
- 22. Lesen von anderem XML mit C#/DOM
- 23. Verwendung/Konvertierung von XML-Zeichenfolge als Parameter in Xsl-Umwandlung
- 24. Haskell entspricht Scalas groupBy
- 25. Scalas implicitNotFound Annotation präzisieren
- 26. Unterschied zwischen W3C-Standard und W3C-Empfehlung?
- 27. Drucke Inhalt einer XML-Datei mit Hilfe von XML DOM
- 28. Kann W3C-DOM zum Erstellen von Document/DocType-Knoten verwendet werden?
- 29. automatische XML-Konvertierung in scala
- 30. Dom Xml Parsing in Android