如何在 XML 中添加 CDATA 而不会丢失 java 中的 <br/> 标签?

How to add CDATA in a XML without the Loss of <br/> tag in java?

如何在 XML 中添加 CDATA 而不会丢失 java 中的 <br/> 标签?

我需要将 Cdata 添加到字符串 temp1 并且还需要保留 break 标记。

然后是下面的程序和示例:

i) 程序-AddCDATASectionToDOMDocument.java

ii) 输入 xml

iii) 需要输出

i) 程序-AddCDATASectionToDOMDocument.java

public class AddCDATASectionToDOMDocument {

    public static void main(String[] args) throws Exception {
        xmlreader xmlr = new xmlreader();
        String temp1 = xmlr.xmlFileReader("example.xml", "contentmeta","subtitle");
        String temp2 = "<![CDATA[" + temp1 + "]]>";
        xmlr.xmlFileWriter("example.xml", "contentmeta", "subtitle", temp2);
    }

}

ii)example.xml

iii) 需要输出

使用正则表达式而不是使用 DOM 解析怎么样?此代码可能适用于您的示例:

    String input = new String(Files.readAllBytes(Paths.get("file1.xml")));
    final Pattern regex = Pattern.compile("<subtitle>(.+?)</subtitle>");
    final Matcher matcher = regex.matcher(input);
    String modification;
    if (matcher.find()) {
         modification = "<subtitle><![CDATA["+matcher.group(1)+"]]></subtitle>";
         String output = matcher.replaceFirst(modification);
         System.out.println(output);
         FileOutputStream outputStream = new FileOutputStream("file2.xml");
         outputStream.write(output.getBytes());
    }