以下是我的网络服务器返回的XML
<root>
<item attr="test1">
<item attr="test2">
</root>
这是Scala代码
var url = "http://mywebserver/my.xml"
val xml = XML.load(url)
logger.info(s"The XML is: $xml")
var items = xml.child
logger.info(s"items: $items")
items.foreach(item => {
logger.info(item.toString())
val attr = item.attribute("attr")
logger.info(s"Attribute: $attr")
})
记录的XML是Web服务器返回的XML的副本 但是foreach循环打印
INFO myclassName -
INFO myclassName - Attribute: None
INFO myclassName - <item attr="test1">
INFO myclassName - Attribute: test1
INFO myclassName -
INFO myclassName - Attribute: None
INFO myclassName - <item attr="test2">
INFO myclassName - Attribute: test2
额外的空白节点来自哪里?我错过了任何配置吗?
答案 0 :(得分:2)
<foo><bar></bar></foo>
和<foo> <bar> </bar> </foo>
是不同的XML。在XML规范中,标记之间的字符(包括空格)构成了封闭标记的“文本元素”子元素,而Scala的XML解析只是通过将空白作为文本元素读取来表达规范。