2010-04-13 57 views
0

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

回答

1

XSLT不会将文本以外的任何内容读取CDATA部分。在将其交给XSLT之前,您需要预先解析数据。你可以使用一个preparsing脚本(用Python编写的,PHP,Perl中,VB,等等),然后做一个(但不限于)以下内容:

  • 删除CDATA标签,并允许XSLT处理不需要的内容
  • <title>标签移动到XSLT入店代替CDATA标签
  • 也许使用在Python Beautiful Soupcthulhu-inducing正则表达式 )走出CDATA部的所期望的值外,并传递所期望的值作为参数给XSLT
+0

@Jweede:Srsly。正则表达式不值得一提。 – Tomalak 2010-04-14 09:15:03