Scala入门到精通——第二十七节 Scala操纵XML

  • 时间:
  • 浏览:2
  • 来源:uu快3IOS下载_uu快3app下载_和值

原因返回的是ArrayBuffer,才能通过for循环遍历对XML子元素中的内容进行提取,如:

反序列化操作:

你这名 提取辦法 将XML中所有的文本内容提取出来并拼接在一块儿,在实际中大伙儿儿原因时需精确提取,比如我只想提取name元素中的内容,此时才能采用下列辦法 :

通过\和\才能提取任何XML的子元素及其文本内容,但原因XML元素饱含属性,那又怎么才能 才能 提取呢?

\的辦法 必须提取子元素,必须提取子元素的子元素,例如:

在深入讲解Scala操纵XML刚刚,先对有几个主要的术语进行介绍:



图中描述了属性、根元素、子元素、元素及文本的概念及它们之间的关联关系,一些的文本、元素被统称为节点(Node)。下面给出的scala XML中的有几个重要的类:

scala中的XML中才能执行scala表达式,例如

下面给出的是对象的XML序列化操作:

下面给出的是save辦法 的标签

上加公众微信号,才能了解更多最新Spark、Scala相关技术资讯

x \ “age” 你这名 子元素的提取辦法 ,返回的类型是scala.xml.NodeSeq

提取XML中的文本:

通过上端的代码必须发现,scala会自动地对XML进行解析,并识别为scala.xml.Elem类型。scala中与XML相关的包和类一些,具体如下图所示:

Scala操纵XML另外另有另一两个非常强大的地方在于,它才能用于模式匹配,从而非常灵活、方便地对XML进行解决:

XML是你这名 非常重要的半形态学 化数据表示辦法 ,目前一定量的应用依赖于XML,有几个应用或利用XML作为数据交换格式,或利用XML进行文件配置等。像JAVA、C++及其它流行的多线程 开发语言还会依赖于第三方库来实现XML的操作,例如JAVA一直通过JDOM,DOM4J等XML解决工具进行XML的操纵,但Scala提供了对XML的原生支持,通过scala.xml._包下的类或对象才能进行任何的XML操作。下面的代码演示了Scala中怎么才能 才能 定义XML字面量。

前一小节,大伙儿儿的序列化与反序列化操作还会内存中进行的,在通常的具体情况下还会将序列化后的XML保位于文件当中,在反序列化时再从文件中读取,实现辦法 如下:

从上述代码才能都看,<persons>{sub_element}</persons> 必须匹配标签<persons></persons> 中只位于单个子元素的具体情况,原因具有多个子元素,即子元素构成NodeSeq,则必须匹配,时需进行进一步解决,代码如下: