Java-DOM解析XML的“getTextContent()”中的句柄缩进

Java-DOM解析XML的“getTextContent()”中的句柄缩进,java,xml,dom,indentation,Java,Xml,Dom,Indentation,我编写了一些java代码,使用DOM解析XML,以便在我的程序中加载数据。 使用Eclipse format函数格式化XML时,我遇到了一个问题:以前的工作getTextContent来自文档元素,现在返回一个字符串,其中包含Eclipse格式化中添加的空格或whatelse。 我正在寻找一个解决方案,该解决方案提供: 一些文本 我的 当我从文档中编码选择元素时,我希望getTextContent的行为如下: myElement.getTextContent.EqualsMel的一些文本 虽然它

我编写了一些java代码,使用DOM解析XML,以便在我的程序中加载数据。 使用Eclipse format函数格式化XML时,我遇到了一个问题:以前的工作getTextContent来自文档元素,现在返回一个字符串,其中包含Eclipse格式化中添加的空格或whatelse。 我正在寻找一个解决方案,该解决方案提供:

一些文本

我的

当我从文档中编码选择元素时,我希望getTextContent的行为如下:

myElement.getTextContent.EqualsMel的一些文本

虽然它实际上失败了

如果我太不具体,告诉我,
谢谢。

使用帮助函数打包XML文本内容

public String getPackedContent(Element element) {
    if (element != null) {
        String text = element.getTextContent();
        if (text != null) {
            return text.trim().replaceAll("\\s+", " ");
        }
    }
    return "";
}

System.out.print(getPackedContent(myElement)); // "some text of mine"

StringreplaceAll使用正则表达式搜索字符串中应替换为作为第二个参数传递的替换字符串的匹配项\\s+表示包含新行的一个或多个+空白\s。第一个转义符是\s中所需的实际值。

谢谢,我会尝试一下!正则表达式\\s+代表什么?@iMineLink它表示一个或多个包含新行的+空格\s。第一个“转义”是\s中所需的实际“转义”。我在代码中尝试了您的代码片段,它工作得非常完美。非常感谢你!