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

  • 时间:
  • 浏览:1

下面给出的是save法律法律依据的标签

XML是本身非常重要的半社会形态化数据表示法律法律依据,目前多量的应用依赖于XML,那些应用或利用XML作为数据交换格式,或利用XML进行文件配置等。像JAVA、C++及其它流行的线程运行开发语言都在依赖于第三方库来实现XML的操作,相似JAVA老会 通过JDOM,DOM4J等XML防止工具进行XML的操纵,但Scala提供了对XML的原生支持,通过scala.xml._包下的类或对象前要进行任何的XML操作。下面的代码演示了Scala中如何定义XML字面量。

通过\和\前要提取任何XML的子元素及其文本内容,但之前 XML元素涵盖属性,那又如何提取呢?

反序列化操作:

之前 返回的是ArrayBuffer,前要通过for循环遍历对XML子元素中的内容进行提取,如:

从上述代码前要看一遍,<persons>{sub_element}</persons> 只有匹配标签<persons></persons> 中只占据 单个子元素的情況,之前 具有多个子元素,即子元素构成NodeSeq,则只有匹配,前要进行进一步防止,代码如下:

Scala操纵XML另外有4个非常强大的地方在于,它都都都能不能用于模式匹配,从而非常灵活、方便地对XML进行防止:

你这个提取法律法律依据将XML中所有的文本内容提取出来并拼接在一起,在实际中亲戚亲戚朋友之前 前要精确提取,比如我只想提取name元素中的内容,此时前要采用下列法律法律依据:

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

前一小节,亲戚亲戚朋友的序列化与反序列化操作都在内存中进行的,在通常的情況下都在将序列化后的XML保占据 文件当中,在反序列化时再从文件中读取,实现法律法律依据如下:

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

提取XML中的文本:

在深入讲解Scala操纵XML之前 ,先对几块主要的术语进行介绍:



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

\的法律法律依据只有提取子元素,只有提取子元素的子元素,相似:

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

scala中的XML中前要执行scala表达式,相似

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