[原创] 根据属性提取XML节点?
ioly
2010-02-03
想从xml中提取包含特定属性的节点。如以下xml:
... <data name="tag1" xml:space="preserve"> <value>value1</value> </data> <data name="tag2" xml:space="preserve"> <value>value2</value> </data> ... 想从中提取键值对,tag1:value1, tag2:value2。这些节点都具有属性“xml:space="preserve"”,不知scala怎么写? |
|
night_stalker
2010-02-03
import scala.xml._ (x \\ "data") foreach {node => node.attribute("http://www.w3.org/XML/1998/namespace", "space") match { case Some(Text("preserve")) => println((node.attributes)("name").text + ":" + (node \ "value").text) case _ => () } } 注: xml:space 是一个命名空间属性,命名空间 xml 对应的 uri 一般是 http://www.w3.org/XML/1998/namespace,如果 xml 中指定了别的 uri,请改为相应的。 |
|
ioly
2010-02-03
3x very much
|