我试图获取只有CDATA部分的元素的内容。 CDATA里面有多行文字。如何在保留换行符的同时获取元素(CDATA)的内容?
但是,当我尝试element.getValue()
.getText()
或.getTextTrim()
时,它们都会剥离线条。
我需要得到保留换行符的字符串。我能做什么?
我试图获取只有CDATA部分的元素的内容。 CDATA里面有多行文字。如何在保留换行符的同时获取元素(CDATA)的内容?
但是,当我尝试element.getValue()
.getText()
或.getTextTrim()
时,它们都会剥离线条。
我需要得到保留换行符的字符串。我能做什么?
下面是一些代码,我放在一起,根据XML文件示例:
<root> <data><![CDATA[This is text with some newlines in it, and some other spaces.]]></data> </root>
,代码:
public static void main(String[] args) throws JDOMException, IOException {
Document doc = new SAXBuilder().build("data/cdata.xml");
String cdata = doc.getRootElement().getChild("data").getText();
System.out.println(cdata);
}
产生的输出:
This is text with some newlines in it, and some other spaces.
这意味着它的工作原理确定。
你可以放在一起你的代码的例子,也许是XML的例子吗?否则,很难弄清楚你的bug。 – rolfl
所以你的意思是这些都不应该删除空白?我不是在此刻的电脑...我只是想,也许我打电话了错误的方法 – ycomp