gpt4 book ai didi

html - 常规 : parsing xml with HTML tags inside

转载 作者:行者123 更新时间:2023-11-28 01:42:17 24 4
gpt4 key购买 nike

我的问题是关于解析 XML,其中字符串值内部有 HTML 标签:

def xmlString = '''
<resource>
<string name="my_test">No problem here!</string>
<string name="my_text">
<b> <big>My bold and big title</big></b>
Rest of the text
</string>
</resource>
'''

(这是一个Android资源文件)

当我使用 XmlSlurper 时,HTML 标记被删除。这段代码:

def resources = new XmlSlurper().parseText(xmlString )
resources.string.each { string ->
println "string name = " + string.@name + ", string value = " + string.text()
}

会产生

string name = my_test, string value = No problem here!
string name = my_text, string value = My bold and big title
Rest of the text

我可以使用 CDATA 来阻止 HTML 标签被解析,但是当使用字符串 my_text 时,这些 HTML 标签将不会被处理。

我还尝试使用 StreamingMarkupBuilder,如 SO 答案中所述:How to extract HTML Code from a XML File using groovy , 但随后只显示 HTML 标记和它们之间的文本:

<b><big>My bold and big title</big></b>

并且不显示第一个字符串。提前致谢!

最佳答案

def xmlString = '''
<resource>
<string name="my_test">No problem here!</string>
<string name="my_text">
<b><big>My bold and big title</big></b>
Rest of the text
</string>
</resource>
'''

def result = []
def resources = new XmlSlurper().parseText(xmlString).string

resources.each { resource ->
result << new groovy.xml.StreamingMarkupBuilder().bind { mkp.yield resource.getBody() }
}

关于html - 常规 : parsing xml with HTML tags inside,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25210880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com