小编Gri*_*are的帖子

在XSL中从CDATA标记内呈现HTML标记

我的XML代码中有一个CDATA标记,其中包含一些超链接.

<smartText><![CDATA[
Among individual stocks, the top percentage gainers in the S.&P. 500 are
<a href ='http://investing.domain.com/research/stocks/snapshot
/snapshot.asp?ric=LNC'>Lincoln National Corp</a> and 
<a href ='http://investing.domain.com/research/stocks/snapshot
/snapshot.asp?ric=PLD'>ProLogis</a>.]]>
</smartText>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其转换为HTML页面,如下所示......

<p class="smartText">
    <xsl:copy-of select="marketSummaryModuleData/smartText"/>                                    
</p>    
Run Code Online (Sandbox Code Playgroud)

不幸的是,页面上的输出显示为纯文本,而不是html.

Among individual stocks, the top percentage gainers in the S.&P. 500 are <a href ='http://investing.businessweek.com/research/stocks/snapshot/snapshot.asp?ric=PLD'>ProLogis</a> and <a href ='http://investing.businessweek.com/research/stocks/snapshot/snapshot.asp?ric=LNC'>Lincoln National Corp</a>.
Run Code Online (Sandbox Code Playgroud)

CDATA部分是从经典的ASP页面创建的,因此实际的XML输出不包含CDATA部分.这可能是问题的一部分吗?我似乎无法获取要在页面上呈现的信息.我尝试了Google搜索提供的多种解决方案,例如disable-escape-tags,xsl:copy-of,xsl:value-of等等.

谢谢

xml xslt cdata

11
推荐指数
2
解决办法
2万
查看次数

当存在隐藏输入类型时,不返回POST数据

我认为我的代码中有错误,或者我的PHP或Apache设置不正确.

当我提交一个带有隐藏字段的表单时,我的$ _POST数组中没有任何数据...

当我在代码中注释掉隐藏字段时,POST数据会正确返回...

HTML表格

<form action='/utils/login.php ' method='POST'>
<table>
    <tr>
        <td colspan='2'>
            Login
        </td>
    </tr>
    <tr>
        <td>
            Username
        </td>
        <td>
            <input type='text' name='userid' value='' size='12' />
        </td>
    </tr>
    <tr>
        <td>
            Password
        </td>
        <td>
            <input type='password' name='password' size='12' />
        </td>
    </tr>
    <tr>
        <td>
            <input type='hidden' name='formtype' value='login' />
        </td>
    </tr>
    <tr>
        <td>
            <input type='submit' value='Submit' />
        </td>
    </tr>
</table></form>
Run Code Online (Sandbox Code Playgroud)

这是在PHP中处理它的代码...

foreach ($_POST as $var => $value) {
     echo "$var = $value<br>";
} 
Run Code Online (Sandbox Code Playgroud)

我在我的服务器上使用PHP 5和Apache 2.2.

有任何想法吗?

编辑...

我把它缩小到这个......

$command = …
Run Code Online (Sandbox Code Playgroud)

php apache post hidden

5
推荐指数
1
解决办法
1万
查看次数

XSLT模板中的超链接

我正在尝试使用XML信息和XSLT模板创建超链接.这是XML源代码.

<smartText>
Among individual stocks, the top percentage gainers in the S. and P. 500 are 
<smartTextLink smartTextRic="http://investing.domain.com/research/stocks/snapshot
/snapshot.asp?ric=HBAN.O">Huntington Bancshares Inc</smartTextLink>
and 
<smartTextLink smartTextRic="http://investing.domain.com/research/stocks/snapshot
/snapshot.asp?ric=EK">Eastman Kodak Co</smartTextLink>
.
</smartText>
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像这样,公司名称是基于Xml中"smartTextLink"标签的超链接.

在个股中,S&P的涨幅最大.500名是Eastman Kodak Co和Huntington Bancshares Inc.

这是我现在使用的模板.我可以显示文本,但不能显示超链接.

<xsl:template match="smartText">
  <p class="smartText">
    <xsl:apply-templates select="child::node()" />
  </p>
</xsl:template>

<xsl:template match="smartTextLink">
  <a>
    <xsl:apply-templates select="child::node()" />
    <xsl:attribute name="href">
      <xsl:value-of select="@smartTextRic"/>
    </xsl:attribute>
  </a> 
</xsl:template>      
Run Code Online (Sandbox Code Playgroud)

我尝试了多种变体,试图让超链接正常工作.我认为模板匹配="smartTextLink"由于某种原因没有被实例化.有没有人对如何使这项工作有任何想法?

编辑:在审查了一些答案后,它仍然无法在我的整个应用程序中工作.

我在我的主模板中调用了smartText模板

使用以下声明......

<xsl:value-of select="marketSummaryModuleData/smartText"/>   
Run Code Online (Sandbox Code Playgroud)

这也可能是问题的一部分吗?

谢谢

巴蒂尔

xslt

4
推荐指数
2
解决办法
3505
查看次数

标签 统计

xslt ×2

apache ×1

cdata ×1

hidden ×1

php ×1

post ×1

xml ×1