我有一个很大的 svg 文件,我从资产中读取它作为字符串并注入到 Webview 中。我需要向这个 svg 添加新元素。我的策略是用新元素的内容替换最后的
</svg>
。最后,我有这样的结构
<svg>
content1
content2
</svg>
不幸的是,它不起作用,无法看到
content2
,即使在删除所有不良字符后也是如此。但是,当我登录新的 svg 并在线测试时,我可以看到这两个内容。怎么可能?
这是我的代码
将 svg 检索为字符串
val inputStream = context.assets.open("mydoc.svg")
appViewModel.updateSvgMap(inputStream.bufferedReader().use(BufferedReader::readText))
然后
webview.loadData(appUiState.svgContent, "text/html", "utf-8")
最后,新内容就这样添加了
svgContent= svgContent.substring(0, content.indexOf("</svg>")) + newSvgContent
你有什么建议吗?我的印象是字符串的操作不是一个好的选择,但为什么呢?
谢谢