微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第十六章 XML

第十六章 XML

标签(空格分隔): scala课后习题

1.<fred/>(0)得到什么?<fred/>(0)(0)又得到什么?

都将会得到<fred/>。因为<fred/>一个Node,而Node又扩展NodeSeq,表示长度为1的NodeSeq。所以当你调用<fred/>(0)时相当于调用apply()方法,访问他的第一个元素,返回的类型又是Node,结果就是<fred/>。所以不管你调用多少次(0)都将会得到<fred/>

2.如下代码的值是什么?你如何修复它?

<ul>
    <li>opening bracket:[</li>
    <li>Closing bracket:]</li>
    <li>opening brace:{</li>
    <li>Closing brace:}</li>
</ul>

主要编译会出问题,因为{的原因。修复:

val ul = <ul>
    <li>opening bracket:[</li>
    <li>Closing bracket:]</li>
    <li>{"opening brace:{"}</li>
    <li>{"opening brace:}"}</li>
    </ul>

  println(ul)

3.题目略

行为不同的原因就是: {“Fred”}实际类型是Atom[String]。而前者是Text

4.读取一个XHTML文件,并打印所有不带alt属性的img元素。

读取过程就不说了,写下核心逻辑。

(imgList \\ "img").filter(_.attributes("alt")==null).foreach(println _)

原文地址:https://www.jb51.cc/xml/296747.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。