我遇到了奇怪的问题,我在网上找不到任何东西。
我使用 xpath 来定位我的 xml 块,然后将其替换为其他内容,例如:
// input
<html>
...
<style type="">
background: yellow;
</style>
<link href="path" />
</html>
// output
<html>
...
<link href="pathToFileWithBackground" />
<link href="path_other" />
</html>
我使用 XMLModifier 来实际更新令牌(使用 updateToken 方法:]),它适用于属性操作或元素的文本(正文)。
我对样式元素有疑问,我想处理它的主体,然后用指向某个文件的链接替换整个元素。
显然,更新文本标记将导致其中带有链接标记的样式标记。
<style type=""><link href="path" />
</style>
所以我尝试将导航器移动到样式元素并得到了这个
<<link href="path" /> type="">
background: yellow;
</style>
我还尝试在样式元素之前插入链接元素并将其删除,但是当我尝试保存修饰符的数据时,我从 XMLModifier 得到 ModifyException("Invalid insert/deletion condition detected between offset .. and offset")。这是代码
ap.selectXPath("//style/text());
vn.toElement(VTDNav.PARENT);
modifier.insertBeforeElement(replaceString);
modifier.remove();
我尝试使用 remove(long l) 和 remove(int offset, int lengtt) 版本但得到了同样的异常
任何想法