我的目的是从google place获取数据。我有以下代码片段html:
<div class="rsw-pp rsw-pp-widget">
<div g:type="AverageStarRating"
g:secondaryurls="http://maps.google.com/?cid=12948004443906002997"
g:decorateusingsecondary="http://maps.google.com/?cid=12948004443906002997" g:groups="maps" g:rating_override="2.998000" class="rsw-stars">
</div>
</div>
我想获取g:rating_override的值。我尝试使用下面的xsl
<Rating>
<xsl:value-of
select="//div[@class='rsw-pp rsw-pp-widget']/div[@class='rsw-stars']/@g:rating_override" />
</Rating>
它说'System.Xml.Xsl.XsltException:前缀'g‘未定义’。你能帮我一下吗?
发布于 2011-05-18 05:47:32
您需要定义"g“名称空间。这通常是在stylesheet
元素上完成的。
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:g=" ... "
version="1.0">
发布于 2011-05-18 08:35:47
如果您正在使用Html Agility Pack embedded XSLT工具,您将面临两个严格的Html Agility Pack限制(至少在1.3.0.0版本中):
您可以使用C#代码克服这些限制,但是使用纯XPATH就不容易了,因此不能使用XSLT。
在这些情况下,使用Html Agility Pack将HTML转换为XML通常更容易,然后在带有标准.NET类的XML上使用常规的XSLT,而不是在带有Html Agility Pack的HTML上使用XSLT。
https://stackoverflow.com/questions/6040319
复制相似问题