java解析css格式数据_java – 在xml文件中使用CDATA来解析html数据

我有一个xml文件,其内容中包含格式错误的HTML.

由于xml无法解析html标签,例如< br>我已经使用CDATA进行保存和解析.

我用过documentBuilder.setCoalescing(true);解析用于恢复数据 test< br> data< br>]]>没有CDATA标签..

但是在optput标签被& lt;替换和& gt;分别 ..

我期待结果中的这个字符串…


test
data

在解析的字符串中.

这该怎么做 ?任何的想法 ?

提前致谢 !

更新:我还有两个问题需要跟进..

1.有没有办法通过代码将格式错误的HTML(例如< br>)制作成可解析的xml(例如< br>),如果是的话,它会处理& nbsp;还呢?

2.是否有任何解决方案可以通过java将html文本转换为纯文本(例如< div> test& nbsp; text< / div> to test text)?

解决方法:

合并是一种操作,其中CDATA部分(节点)的内容被转换为文本节点并与相邻文本节点的内容合并.将CDATA部分转换为文本节点本身的这一要求将强加限制,即生成的文本节点由有效的XML字符组成.这将保留原始文档格式;换句话说,原始文档中节点的结构不会发生变化.

产生的行为是5个预定义实体的行为 – ,&,“和’,前三个将被展开,因为它们未改变的存在将改变文档结构.

简而言之,通过从DOM中提取值,您无法做您打算做的事情.解析文档后,您需要将值解码为您想要的值. Apache Commons Lang有一个实用程序类 – StringEscapeUtils that possesses the desired method.

标签:java,parsing,xml,html,cdata

来源: https://codeday.me/bug/20190621/1254425.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值