2011-05-23 90 views
0

我试图使用必应图片api,但无法设法让它工作。 我试图转换结果,但转换不会返回任何有用的东西。 我想这是因为我在做一些错误的命名空间,因为它是我发现所有的XML相关的语言非常混乱...使用bing api xslt

这里是我从兵收到一个例子:

<?xml version="1.0" encoding="utf-8" ?> 
<?pageview_candidate?> 
<SearchResponse xmlns="http://schemas.microsoft.com/LiveSearch/2008/04/XML/element" Version="2.2"> 
<Query> 
    <SearchTerms>natalie portman</SearchTerms> 
</Query> 
<mms:Image xmlns:mms="http://schemas.microsoft.com/LiveSearch/2008/04/XML/multimedia"> 
    <mms:Total>644000</mms:Total> 
    <mms:Offset>0</mms:Offset> 
    <mms:Results> 
    <mms:ImageResult> 
     <mms:Title>Natalie Portman/natalie-portman-83</mms:Title> 
     <mms:MediaUrl>http://www.bestidol.pl/natalieportman/slides/natalie-portman-83.jpg</mms:MediaUrl> 
     <mms:Url>http://www.bestidol.pl/natalieportman/slides/natalie-portman-83.php</mms:Url><mms:DisplayUrl>http://www.bestidol.pl/natalieportman/slides/natalie-portman-83.php</mms:DisplayUrl> 
     <mms:Width>1024</mms:Width> 
     <mms:Height>768</mms:Height> 
     <mms:FileSize>95173</mms:FileSize> 
     <mms:ContentType>image/jpeg</mms:ContentType> 
     <mms:Thumbnail> 
     <mms:Url>http://ts1.mm.bing.net/images/thumbnail.aspx?q=809383506038& amp;id=b829ae4c6df8866b6a07325bedca4bbd</mms:Url> 
     <mms:ContentType>image/jpeg</mms:ContentType> 
     <mms:Width>160</mms:Width> 
     <mms:Height>120</mms:Height> 
     <mms:FileSize>3838</mms:FileSize> 
     </mms:Thumbnail></mms:ImageResult> 
    <mms:ImageResult> 
    ... other ImageResults and closing tags. 

这里我CURENT XSLT转换:

<?xml version="1.0" encoding="ISO-8859-1"?> 

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:mms="http://schemas.microsoft.com/LiveSearch/2008/04/XML/multimedia"> 

<xsl:template match="/"> 
<list> 
    <xsl:for-each select="//mms:ImageResult" > 
    <element> 
     <image> 
      <url><xsl:value-of select="/mms:MediaUrl" /></url> 
      <width><xsl:value-of select="/mms:Width" /></width> 
      <height><xsl:value-of select="/mms:Height" /></height> 
     </image> 
    </element> 
    </xsl:for-each> 
</list> 
</xsl:template> 

</xsl:stylesheet> 

不会有人看到我的错误(县)? 因为这种变换回报我:

<list xmlns:mms="http://schemas.microsoft.com/LiveSearch/2008/04/XML/multimedia"> 
    <element> 
    <image> 
     <url/> 
     <width/> 
     <height/> 
    </image> 
    </element> 
    ... 
</list> 

回答

1

Shoudnt是...

<url><xsl:value-of select="mms:MediaUrl" /></url> 
    <width><xsl:value-of select="mms:Width" /></width> 
    <height><xsl:value-of select="mms:Height" /></height> 

+0

非常感谢你,愚蠢的错误,至少我得到了命名空间的权利;) – codelidoo 2011-05-23 14:24:52

+0

不客气! – 2011-05-23 14:39:09