ASP.NET,XSLT,从CDATA部分提取值

时间:2010-04-13 20:24:03

标签: asp.net xml xslt

我有一个小问题我有xome xml和cdata部分。该CDATA部分包含HTM1的片段。我想提取这个CDATA元素中的一些数据。现在我有一个XSLT转换,它将文档的其余部分输出为HTMl,但我只需要CDATA HTML的一小部分,而不是整个部分 - 例如我的标题标签。怎么做?

1 个答案:

答案 0 :(得分:1)

XSLT不会将CDATA部分读作除文本之外的任何内容。在将数据交给XSLT之前,您需要预先解析数据。您可以使用预先制作的脚本(用Python,PHP,Perl,VB等编写),然后执行以下操作之一(但不限于此):

  • 删除CDATA代码并允许XSLT处理不受欢迎的内容
  • <title>标记移至CDATA标记之外的XSLT可访问位置
  • 可能在Python中使用Beautiful Soupcthulhu-inducing正则表达式)从CDATA部分中获取所需的值,并将所需的值作为参数到XSLT