8,909
社区成员




我有一个xml文件,大致结构如下:
<root>
<info>
<checkvalue>aaa</checkvalue>
<name>name1</name>
<value>value1</value>
</info>
<info>
<checkvalue>bbb</checkvalue>
<name>name2</name>
<value>value2</value>
</info>
</root>
我想解析成如下结构:
<root>
<aaa>
<name>name1</name>
<value>value1</value>
</aaa>
<bbb>
<name>name2</name>
<value>value2</value>
</bbb>
</root>
也就是说,需要根据节点checkvalue的值,选取指定的name,value的值,如果没有这个判断条件,两个节点中name和value的值都会被选取。
求大神指教
问题解决,可以使用for-each 加 if的判断,像这样:
<xsl:for-each select="./">
<xsl:if test="./aaa='aaa'">
<xsl:value-of select="."/>
<xsl:if test="./bbb='bbb'">
<xsl:value-of select="."/>
但是还有个小问题就是,如果这个node没有,那么你希望解析出来的node也是没有的, 不知道这个时候如何加入一个空node