gpt4 book ai didi

java - 使用 VTD-XML 删除元素后删除剩余的新行

转载 作者:行者123 更新时间:2023-12-01 04:35:25 24 4
gpt4 key购买 nike

我正在尝试使用 VTD-XML 从父元素中删除一组子元素。

不幸的是,删除元素后,它会留下被删除元素先前占用的新行。 VTD-XML 作者 here 撰写的有关 VTD-XML 的文章的读者也观察到了此行为。 。我正在尝试找出如何删除这条新线。

通过操纵存储在底层 64 位 VTD token 中的长度值来覆盖新行字符(额外的 2 个字节),我取得了一些成功。代码片段如下:

// XMLModifier modifier
modifier.remove(vn.getElementFragment()+0x200000000L);

我已经测试过,这在 VTD-XML 示例的 ex_16 中提供的 old_cd.xml 上运行良好。

但是,当我在工作文件上尝试相同的方法时,当我尝试调用 modifier.output() 时,会引发 ModifyException 错误,具体来说,它是由modifier.check2().

问题

<罢工>1。为什么上述方法会导致 check2() 失败?我认为我没有溢出 VTD token 上的位,文件 < 2MB。 请参阅更新。
2.有没有更好的方法来删除剩余的新行?

我对 VTD-XML 还很陌生,因此我非常感谢任何建议和见解,并向更有经验的用户学习。

感谢您的帮助。

更新
哇,在写这个问题的过程中,我意识到我忘记考虑不同的字符编码,并将调整长值更新为 1 字节修复了 check2() 问题! (花时间暂停并重新思考/写出问题的另一个原因)。

我仍然想从更有经验的用户那里了解是否有更好的方法。

最佳答案

为了回答你的问题,我认为这需要在 API 级别完成,并且需要注意一些额外的细节,例如删除所有周围空白或不删除空白的选项。需要在下一个版本中完成...

关于java - 使用 VTD-XML 删除元素后删除剩余的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441393/

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