使用XMLParser更新html内容

时间:2013-10-17 17:15:49

标签: html groovy html-parsing

我尝试使用groovy XmlParser从文件中的html内容更新锚标记:

String fileContent = new File('//' + url.toString()).text
    page = new XmlParser(new org.cyberneko.html.parsers.SAXParser()).parseText(fileContent)
    page.'**'.A.grep { anchor ->
        anchor.attribute('href') != null && !anchor.'@href'?.startsWith('http') && !anchor.'@href'?.startsWith('ftp:') && !anchor.'@href'?.startsWith('mailto:') && !anchor.'@href'?.startsWith('attachments')
    }.each { anchorToReplace ->
        anchorToReplace.'@href' = getTitleFromUrl(anchorToReplace.'@href')
        println(anchorToReplace.'@href')
    }

和page.text()没有更新的内容。这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您必须使用XmlBuilder来生成XML。 XMLParser仅解析XML。

def xmlBuilder = new groovy.xml.StreamingMarkupBuilder().bind{ mkp.yield page }
xmlBuilder.toString();