Created
April 22, 2012 22:55
-
-
Save kaja47/2467402 to your computer and use it in GitHub Desktop.
wut?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// java api | |
import org.w3c.dom._ | |
import javax.xml.xpath._ | |
import javax.xml.parsers._ | |
val domFactory = DocumentBuilderFactory.newInstance | |
domFactory.setNamespaceAware(true) | |
val doc = domFactory.newDocumentBuilder.parse("boox.xml") | |
val xpath = XPathFactory.newInstance.newXPath | |
val expr = xpath.compile("//book/title") | |
val ns = expr.evaluate(doc, XPathConstants.NODESET).asInstanceOf[NodeList] | |
for (i <- 0 until ns.getLength) println(ns.item(i).getTextContent) | |
// php | |
$xml = simplexml_load_file("boox.xml"); | |
foreach ($xml->xpath("//book/title") as $t) { | |
var_dump((string)$t); | |
} |
Ani ne. Scala.xml DSL má svoje problémy a pracuje se s ním velice velice špatně. RAdši než to bych používal normální XPath, jehož výrazy jsou mnohem kratší než DSL nebo anti-xml, které se vyvarovalo základních problémů Scala.xml.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tak ve Scale se bude spíš používat to typesafe DSL: http://stackoverflow.com/questions/3056337/performing-complicated-xpath-queries-in-scala