有没有办法从一个巨大的xml文件中删除注释(
两者,根元素前的注释
<!-- comment -->
<rootElement>
.
.
.
</rootElement>
和内的注释
<rootElement>
<book>
<!-- comment -->
</book>
</rootElement>
最好的解决方案是使用xPath。我试过了
//comment()
它适用于DOM,但不适用于vtd xml
这是我选择评论的代码
String xPath = "//comment()"
XMLModifier xm = new XMLModifier();
VTDGen vg = new VTDGen();
if (vg.parseFile(fnIn,true)){
VTDNav vn = vg.getNav();
xm.bind(vn);
nodeXpath(xPath,vn);
}
private void nodeXpath(String xPath, VTDNav vn) throws Exception{
int result;
AutoPilot ap = new AutoPilot();
ap.selectXPath(xPath);
ap.bind(vn);
while((result = ap.evalXPath())!=-1){
int p = vn.getText();
if (p!=-1) {
System.out.println(vn.getText() + ", " + vn.toString(p));
}
}
}
但此处的屏幕上打印的是nothing。
有没有办法用vtd xml做到这一点?
谢谢你的帮助。
您提到您的代码没有向屏幕打印任何内容......甚至没有逗号?我不期望它一定会打印getText()
中的任何内容,因为getText()
的文档似乎表明它返回“类型字符数据或CDATA”,我认为它不包括注释的内容。(谢谢@vtd-xml-作者确认这一点。)
一个好的测试是在p=vn.getText()
之前打印您的while循环的每次迭代中的某些内容,这样您就可以知道它是否正在查找注释。
如果它正在查找注释,我想你会想在每个注释上调用xm.removeToken(结果)
。
问题内容: IntelliJ中是否有插件或工具可以将所有注释从源.java文件中删除?我已经阅读了有关可以执行此操作的[ANT任务的信息。希望在IDE中执行相同的操作。另外,也可以使用TextPad插件。 问题答案: 您可以在正则表达式模式下使用“替换”(如果要删除多个文件中的注释,则可以使用“在路径中替换”),然后在“查找文本”字段中使用此正则表达式: 并将其替换为空字符串。然后按“全部”,以将
有没有一种标准且简单的方法可以使用Maven插件从HTML模板(Thymeleaf)中删除注释?如果它能按惯例只为
问题内容: 我正在编写一个程序来自动编写一些C代码,(我正在编写将字符串解析为同名枚举)C对字符串的处理不是很好。所以有些人一直在me我尝试python。 我做了应该删除C风格的功能,并 从字符串:下面是代码: 所以我尝试了这段代码。 它显然什么也没做。 关于我做错了什么建议? 有句话我已经听过几次了: 如果您有问题,并尝试使用Regex解决它,则会遇到两个问题。 编辑:回顾这几年后。(经过更多的
我想使用docx4j删除docx文件中的所有注释。 我可以使用如下所示的一段代码删除实际的注释,但我认为我也需要从主文档部分删除注释引用(否则文档已损坏),但我不知道如何做到这一点。 感谢您的指导! 我还在docx4j论坛上发布了这个问题:http://www.docx4java.org/forums/docx-java-f6/how-to-remove-all-comments-from-doc
用户可以正常选择文本,然后从UIMENU中选择“高亮显示”或“删除高亮显示”。 为了在选择文本时自定义pdfView,我已经更改了出现的菜单-首先通过删除默认操作: 然后在viewDidLoad()中设置了自定义UIMenuItems: 当我选择突出显示的文本时,我希望用户能够通过点击“删除突出显示”来删除突出显示注释,但我根本无法想出如何仅仅删除隐藏在所选文本“后面”的注释。 这段代码正在工作,
applyChange()方法总是返回“unsuccessful”,我找不到任何关于注释删除不起作用的文档。 注:在http://sourceforge.net/p/owlapi/mailman/message/28203984/here似乎起作用