以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]请问如何实现 XML 父元素与子元素 取值不重复  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=63415)


--  作者:柳絮飞
--  发布时间:6/3/2008 5:35:00 PM

--  [求助]请问如何实现 XML 父元素与子元素 取值不重复
XML 如下:
<div class="content">
<p>现代桥牌</p>
<p>适合机型</p>
<p>操作指南</p>
<p>happy playing fengkuangqiaopai</p>
<p>直接下载:
      <a href="8888888888888">888</a>
      <a href="9999999999999">999</a>
      <a href="1111111111111">111</a>
      <a href="2222222222222">222</a>
      <a href="3333333333333">333</a>
</p>
</div>

我写的 XSL 如下:
<xsl:for-each select="./div/p">   
          <xsl:value-of select="."/>
          <BR/>     
          <xsl:for-each select="a">
          <a>
                <xsl:attribute name="href">
                     <xsl:value-of select="@href"/>
               </xsl:attribute>
               <xsl:value-of select="."/>   
           </a>
           <xsl:text> </xsl:text>
          </xsl:for-each>    
</xsl:for-each>
这样取值的话,会将P下有子元素a的值取两遍,哪位高手帮忙看一下,如何取值,能使他们的取值不冲突。。。。 


--  作者:柳絮飞
--  发布时间:6/4/2008 3:41:00 PM

--  
解决了。。。
<xsl:for-each select="./div/p">   
          <xsl:value-of select="./text()"/>
          <BR/>     
          <xsl:for-each select="a">
          <a>
                <xsl:attribute name="href">
                     <xsl:value-of select="@href"/>
               </xsl:attribute>
               <xsl:value-of select="."/>   
           </a>
           <xsl:text> </xsl:text>
          </xsl:for-each>    
</xsl:for-each>

--  作者:Qr
--  发布时间:6/4/2008 4:36:00 PM

--  
文本和节点共存话,取文本必须用text(),如果有多个文本和节点混合,则还有通过position()来定位。
--  作者:柳絮飞
--  发布时间:6/4/2008 5:43:00 PM

--  
恩,问题已经解决了,不过还是要谢谢版主。。。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms