XML中含有html标签的问题

看结论请直接看下面

 

今天写生成xml的php。没有用什么XMLDOMNode之类的来生成,而是直接echo出xml的内容。

xml的内容中有一部分的数据是从db中循环取出的,问题就出在这。我发现全部取出数据时,对于生成的xml,simplexml_load_string返回false,即表明生成的xml是非法的。

debug一下,发现取出数据加以限制 limit 8 一下就没有问题,第9个数据一旦取出就会在成xml非法。仔细比对了下第9条数据,终于发现问题所在,数据中包含手动输入的html标签,而且关键问题是这些标签的有些没有关门。。。

 

/********************看下面即可**********************/

 

1 xml语法更严格。[start][/start]标签必须成对出现。html的tag没有这么严格。

2 xml中包含有html tag时,会把这些tag当作xml的一部分,所以xml语法检查对html tag也是有效的。

3 要想让xml的语法检查对某一部分不去作用,请用 <![CDATA[和]]> 。

 

<![CDATA[和]]>是规定的开始和结束,这部分数据不做任何语法检查。例如:

<a><![CDATA[<intro>1.a 2.b</intro>]]></a>

 

另外,查了下资料,貌似使用XMLDOMNode接口里的text属性,可以直接把html tag作为值给塞到xml中去。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值