scala xml操作

加载XMl
val loadnode = xml.XML.loadFile(fileName)

// 其它方法
def loadFile(file: File): T          = loadXML(fromFile(file), parser)
def loadFile(fd: FileDescriptor): T  = loadXML(fromFile(fd), parser)
def loadFile(name: String): T        = loadXML(fromFile(name), parser)

/** loads XML from given InputStream, Reader, sysID, InputSource, or URL. */
def load(is: InputStream): T         = loadXML(fromInputStream(is), parser)
def load(reader: Reader): T          = loadXML(fromReader(reader), parser)
def load(sysID: String): T           = loadXML(fromSysId(sysID), parser)
def load(source: InputSource): T     = loadXML(source, parser)
def load(url: URL): T                = loadXML(fromInputStream(url.openStream()), parser)

/** Loads XML from the given String. */
def loadString(string: String): T    = loadXML(fromString(string), parser)

输出节点内容
scala> val xml = <a>123</a>
xml: scala.xml.Elem = <a>123</a>
scala> xml
res0: scala.xml.Elem = <a>123</a>
scala> xml text
warning: there were 1 feature warning(s); re-run with -feature for details
res1: String = 123

查找元素
scala> val xml = <a><b><c></c></b></a>
xml: scala.xml.Elem = <a><b><c></c></b></a>
scala> xml
res0: scala.xml.Elem = <a><b><c></c></b></a>
scala> xml \ "b"
res1: scala.xml.NodeSeq = NodeSeq(<b><c></c></b>)
scala> xml \ "b" \ "c"
res2: scala.xml.NodeSeq = NodeSeq(<c></c>)
scala> xml \\ "c"
res3: scala.xml.NodeSeq = NodeSeq(<c></c>)

查找属性
scala> val xml = <a id="myId">123</a>
xml: scala.xml.Elem = <a id="myId">123</a>
scala> xml \ "@id"
res9: scala.xml.NodeSeq = myId

带有命名空间的操作
scala> val xml = <space:a><space:b></space:b></space:a>
xml: scala.xml.Elem = <space:a><space:b></space:b></space:a>
scala> xml
res0: scala.xml.Elem = <space:a><space:b></space:b></space:a>
scala> xml \ "space:b"
res1: scala.xml.NodeSeq = NodeSeq()
scala> xml \ "b"  
res2: scala.xml.NodeSeq = NodeSeq(<space:b></space:b>)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值