两个问题:不规范XML读取及XSLT的starts-with函数

Hikey 2006-06-04 07:31:30
第一个问题:
很多网站提供的RSS不规范。
主要问题是xml文档开头 <xml... 前面会有换行符或者空格
这样的文档使用 XPathDocument直接读的时候会提示 “意外的xml声明”

而且这种情况很普遍的出现在一些asp写的blog中,不能因为他们的不规范而放弃他们。
各位是如何解决这个问题的,我想得到具体的代码实例。

第二个问题:
对XML应用 XSLT转换时,可以在xsl中使用 starts-with() 函数判断某属性开头的情况
如:<xsl:when test="starts-with(/a/@href,'http')">
<xsl:value-of select="/a/@href"/>
</xsl:when>
这个例子中,我想判断这个属性最后的情况。
比如判断它是否以.mp3结尾的。
应该使用哪个函数? 找了半天没看到end-with函数。

谢谢各位了

...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hikey 2006-11-05
  • 打赏
  • 举报
回复
多谢,我是这样解决的:

contains('.mp3.jpg.jpeg.mid.midi.wav.avi.zip.exe.gif.png.sis.ogg.bmp.wma.rma.rmv.txt.dat.umd.asf.chm.jpe.mpg.mpeg.mpe.pdf.mmf.3gp.lrc.thm.gbc.rom.amr.pmd.asx',substring(@href,string-length(@href)-3))
孟子E章 2006-06-04
  • 打赏
  • 举报
回复
第一个问题可以用HttpWebrequest读取,然后进行处理再装载 ,LoadXml()
孟子E章 2006-06-04
  • 打赏
  • 举报
回复
办法很多,可以用contains(@href,'.mp3'),这个不是很准
也可以
substring-after(@href,'.mp3') = ''

也可以用
substring()和string-length()联合使用

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧