我有MSXMLDOMDocument的经典ASP环境。加载的xml是xsl:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="2.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes"
exclude-result-prefixes="xhtml xsl fn xs xdt">
</xsl:stylesheet>
我正在尝试获取样式表的版本,在此示例中,这是值&#34; 2.0&#34;。 我想在这个purpouse中使用XPath,但我的问题是我不知道如何在经典的asp中将xsl的命名空间添加到xpath引擎。
问题:如何在经典asp中使用MSXMLDOMDocument获取xsl:stylesheet的version属性?
答案 0 :(得分:2)
AFAIR,有一种注册命名空间的方法,因此您可以在XPath表达式中使用已注册的前缀。
但是,在您的情况下,这不是必要的。
只需使用:
/*/@version
这里我们使用xsl:stylesheet
是XML文档的顶级元素(并且任何格式良好的XML文档必须只有一个顶部元素)的事实 - 所以我们可以如上所述指定这个顶部元素 - - 根本不指定其名称。
我们不需要为version
属性指定任何名称空间,因为在XPath中,任何未加前缀的属性名称都在“无名称空间”中,即使存在为XML文档定义的默认名称空间。