【问题标题】:updating html content with XMLParser使用 XMLParser 更新 html 内容
【发布时间】:2013-10-26 07:46:35
【问题描述】:

我尝试使用 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.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() 没有更新的内容。这段代码有什么问题?

【问题讨论】:

    标签: html groovy html-parsing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2013-05-22
      • 2018-05-17
      • 1970-01-01
      • 2015-04-01
      • 2013-04-23
      • 1970-01-01
      相关资源
      最近更新 更多