Attribute value of XML node in Scala -


suppose writing function (node, string) => option[string] attribute value attribute name given node.

def getattributevalue(node: node, attributename: string): option[string] = {   val txt = (node \ ("@" + attributename)).text   if (txt.isempty) none else some(txt) } 

does make sense ? how fix/improve ?

scala has methods attribute defined on node class, return option[seq[node]], requires further processing string.

so i'm using similar in code:

implicit class xmlenhancements(node: node) {   def attributeopt(attribute: string): option[string] =     node.attribute(attribute) flatmap (_.headoption) map (_.text) } 

also, scala defines method def \@(attributename: string): string on xml.node class, believe it's ok define attributeopt under \@? alias:

implicit class xmlenhancements(node: node) {   def \@?(attribute: string): option[string] =     node \@ attribute match {       case "" => none       case s => some(s)     } } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -