我需要通过删除其父节点来保留子节点。
有可能吗?
示例:
<?xml version="1.0" encoding="UTF-8"?>
<School>
<SSLC>
<name></name>
<rollno></rollno>
</SSLC>
<PUC>
<first_pu>
<name></name>
<rollno></rollno>
</first_pu>
<second_pu>
<name></name>
<rollno></rollno>
</second_pu>
</PUC>
</School>
我需要删除<PUC>
节点。我尝试了以下代码:
String lineToRemove = "<PUC>";
String currentLine;
while ((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim();
if (trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine + System.getProperty("line.separator"));
}
但它不起作用。
答案 0 :(得分:-1)
我认为你误解了我的建议。 replaceAll(regex,replacement)
会在"<PUC>"
和"</PUC>"
的所有匹配项中删除(在本例中)您的行,因此检查if(trimmedLine.equals(lineToRemove))
它将始终为false是没有意义的。根据您的代码:
String lineToRemove = "<PUC>";
String currentLine;
while ((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim().replaceAll("<PUC>", "").replaceAll("</PUC>", "");
if(trimmedLine.isEmpty()) continue;
writer.write(currentLine + System.getProperty("line.separator"));
}
同样,这不是优雅根本,有数千种方法可以做得更好,但我在工作,所以我有点忙,不能花太多时间: P.希望这有帮助,问候。