1

我编写了一些 java 代码,它使用 DOM 解析 XML,以便在我的程序中加载数据。使用 Eclipse“格式”函数格式化 XML,我遇到了一个问题:以前从文档元素中工作的 getTextContent() 现在返回一个字符串,其中包含从 Eclipse 的格式添加的空格(或其他内容)。我正在寻找给出的解决方案:

<myElement>一些文字

我的

</myElement>

当我从文档中对元素进行代码选择时<myElement>,我希望 getTextContent() 的行为类似于:

myElement.getTextContent().equals("some text of mine");

虽然它实际上失败了。

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

4

1 回答 1

2

使用辅助函数来打包 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"

String#replaceAll()采用正则表达式来搜索字符串以查找应替换为作为第二个参数传递的替换字符串的匹配项。\\s+表示一个或多个 ( +) 空格 ( \s),其中包括新行。第一个\逃避实际\需要的\s.

于 2013-08-17T13:58:12.173 回答