我正在從維基頁面失去重要的空白我解析,我想這是因爲解析器。我有這在我的Groovy腳本:XMLParser正在吃我的空白
@Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='1.2')
def slurper = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser())
slurper.keepWhitespace = true
inputStream.withStream{ doc = slurper.parse(it)
println "originalContent = " + doc.'**'.find{ [email protected] == 'editpageform' }.'**'.find { [email protected]=='originalContent'}[email protected]
}
如果InputStream爲從URL GET請求初始化編輯匯合維基頁面。 後來在withInputStream塊,我這樣做:
println "originalContent = " + doc.'**'.find{ [email protected] == 'editpageform' }.'**'.find { [email protected]=='originalContent'}[email protected]
我注意到頁面的所有原始內容剝奪了換行符。我原本以爲這是一個服務器端的事情,但當我在瀏覽器中查看相同的請求並查看源代碼時,我可以在「originalContent」隱藏參數中看到換行符。有沒有簡單的方法來禁用空白標準化並保留字段的內容?上面是針對內部的Confluence wiki頁面運行的,但是在編輯任意的wiki頁面時很可能會被責備。
更新上述 我試圖保留空白添加調用「slurped.keepWhitespace =真」,但仍然無法正常工作。我在想這個方法是針對元素而不是屬性的?有沒有辦法輕鬆調整底層Java XMLParser上的標誌?是否有特定的設置來設置屬性值中的空白?
這就是當你把你的解析器餓;-)(我很抱歉,我無法抗拒) – dasblinkenlight
所以,如果你說whitespache,你的意思是隻換行發生了什麼?如果你說換行符部分沒有被刪除,它們只會被轉換? Afaik XML僅換行換行。 – blackdrag
我相信在[Groovy JIRA]中有一個問題(http://jira.codehaus.org/browse/GROOVY-5360) –