第十六章 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 _)

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念