读取XSL中的XML元素属性
假设我有以下XML:读取XSL中的XML元素属性,xml,xslt,Xml,Xslt,假设我有以下XML: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Reviews> <REVIEW ATTR1="some text" ATTR2="some other text"> </REVIEW> </Reviews> 我很难让xsl文件正常工作。以下是相关信息: <div style="width:300px; flo
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Reviews>
<REVIEW ATTR1="some text" ATTR2="some other text">
</REVIEW>
</Reviews>
我很难让xsl文件正常工作。以下是相关信息:
<div style="width:300px; float:left; padding:10px 20px 0 0; vertical-align:top">
<div style="font-size:14px; padding-left:3px">
<xsl:for-each select="Reviews/REVIEW">
<xsl:if test="REVIEW/ATTR1 != ''">
Something: <xsl:value-of select="REVIEW/ATTR1" />
<br/>
</xsl:if>
</xsl:for-each>
</div>
</div>
一些东西:
尽管ATTR1中有一些东西,但if测试返回为false。我尝试过使用Reviews/REVIEW/ATTR1,只使用ATTR1,但没有任何效果。我甚至不确定这是从元素获取属性的方法。我查阅了W3学校,但他们的教程没有提到如何获取属性。XML非常新,XSL也非常新。谢谢。这里有两个问题。首先,要访问属性,您需要在其前面加上
@
符号。其次,在xsl:for each中,当前上下文是REVIEW节点,因此不需要在表达式中再次包含该节点
试试这个
<xsl:if test="@ATTR1 != ''">
Something: <xsl:value-of select="@ATTR1" />
<br/>
</xsl:if>
一些东西:
美丽!我不知道,。非常感谢。