Java Dom4j生成空格。

Java Dom4j生成空格。,第1张

html解析的时候应该是有多少个 就出多少个空格。你的代码我没看懂 那注释是什么意思。?详细点说 要不就试试CreateElement("span").addText(" ")或者CreateElement("span").addText("    ")

换行符"\r\n",如是用dom4j之类的jar包 *** 作,dom4j换行如下

/**

* 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式

*/

OutputFormat format = OutputFormat.createPrettyPrint()//设置XML文档输出格式

format.setEncoding("GB2312")//设置XML文档的编码类型

format.setSuppressDeclaration(true)

format.setIndent(true)//设置是否缩进

format.setIndent(" ")//以空格方式实现缩进

format.setNewlines(true)//设置是否换行

楼主的问题应该在于如何创建出指定格式的format

打开dom4j的文档查看OutputFormat类

该类其实提供了2个static方法,返回一个outputFormat对象

createCompactFormat() 返回的outputForamt的格式为压缩,即空格,回车等都被忽略了

createPrettyPrint() 这个方法返回的outputFormat的格式则为良好格式

因为在html语言中,大家书写都喜欢换行和缩进,保持良好的书写习惯,当在xml语言中空格和换行都作为原始内容被处理,即空格和换行对应也是一个对象

所以 Document doc = DocumentHelper.parseText(str)

这段代码在解析的时候并没有针对空格和换行进行 *** 作

OutputFormat针对此专门提供了2个satic方法来获得对应的格式

document的asXML方法的源码中new出的outputFormat其实是一个空的格式

以上分析仅为个人看法,毕竟我不是dom4j的开发人员,如有错误,请指正

以下为相关代码:

import java.io.StringWriter

import org.dom4j.Document

import org.dom4j.DocumentHelper

import org.dom4j.io.OutputFormat

import org.dom4j.io.XMLWriter

public class Demo {

public static void main(String[] args) throws Exception {

String str = "<file>"+

"<chapter id=\"1\" name=\"a\"/>" +

"<chapter id=\"2\" name=\"b\"/>" +

"<chapter id=\"3\" name=\"c\"/>" +

"<chapter id=\"4\" name=\"d\"/>" +

"</file>"

// 将字符串格式转换成document对象

Document document = DocumentHelper.parseText(str)

// 注意,用这种方式来创建指定格式的format

OutputFormat format = OutputFormat.createPrettyPrint()

// 创建String输出流

StringWriter out = new StringWriter()

//包装String流

XMLWriter writer = new XMLWriter(out, format)

// 将当前的document对象写入底层流out中

writer.write(document)

writer.close()

System.out.println(out.toString())

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11854133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存