将绝对基本URL附加到xPath relative src属性

时间:2011-05-12 15:58:45

标签: xpath

是否存在使用xPath将基本URL附加到相对src URL的问题? 我希望从相对的URL获得绝对图像URL。

E.g:

抓住src: 的 <img src="/images/image.jpg" />

我用过:

IMG / @ SRC

现在我想通过追加http://myothersite.com/来绝对做到:

http://myothersite.com/images/image.jpg

任何提示都会非常感激。

由于

更新: 来源http://myothersite.com的HTML结构:

<div id="main">
    <div class="header">
        <h2>Some title</h2>
        <div id="date">8th March 2008</div>
    </div>

    <div id="content">
      <div id="main-content">
        <div class="region">
          <div id="block-system-main">
            <div class="block-content">
                <div id="node-123" class="clearfix">
                    <div class="content">
                        <div class="body">
                                            <!-- Here I want to grab absolute path, as http://myothersite.com/images/image.jpg -->
                            <p><img src="/images/image.jpg"/></p>
                            <p>Some content ....</p>
                        </div>    
                    </div>
                </div>
            </div>
          </div>
        </div>
      </div>
    </div>

</div>

完整语法:

上下文:

//div[@id='main']

标题

//div[@id='main']/div[1]/h2

创建的:

//div[@id='date']

体:

//div[@id='node-123']/div/div

图片有错误 XPath选择器出错:表达式无效

//div[@id='node-123']/div/div/*/concat('http://myothersite.com',img/@src)

1 个答案:

答案 0 :(得分:1)

您在寻找XPATH concat('http://myothersite.com',img/@src)功能吗?例如,

  <xsl:template match="/">
   <absolutepath>
    <xsl:value-of select="concat('http://myothersite.com',img/@src)"/>
   </absolutepath>
  </xsl:template>

我认为你不能那样使用concat。尝试:

concat('http://myothersite.com',//div[@id='node-123']//div[@class='body']/p/img/@src)

这会得到第一个p/image身体的孩子。