1

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('添付ファイル')
    }.each { anchorToReplace ->
        anchorToReplace.'@href' = getTitleFromUrl(anchorToReplace.'@href')
        println(anchorToReplace.'@href')
    }

page.text() には更新されたコンテンツがありません。このコードの何が問題なのですか?

4

1 に答える 1

0

XML を生成するには、XmlBuilder を使用する必要があります。XMLParser は XML のみを解析します。

def xmlBuilder = new groovy.xml.StreamingMarkupBuilder().bind{ mkp.yield page }
xmlBuilder.toString();
于 2013-10-23T20:06:56.273 に答える