我有一个 “坏的XML结构” 文件:如何从xml中获取xml文本?
<cars>
<car>Toyota
<country>Japan</coutry>
....
</car>
</cars>
如何正确地得到正确的字使用XPath(丰田)? 我试过了:
<xsl:value-of select = "cars/car/text()"/>
。
它的工作原理,但我认为有更合适的方法。 谢谢。
我有一个 “坏的XML结构” 文件:如何从xml中获取xml文本?
<cars>
<car>Toyota
<country>Japan</coutry>
....
</car>
</cars>
如何正确地得到正确的字使用XPath(丰田)? 我试过了:
<xsl:value-of select = "cars/car/text()"/>
。
它的工作原理,但我认为有更合适的方法。 谢谢。
使用:
/cars/car/text()[1]
,或者如果你要放弃大部分的文本节点空白上述选择,使用范围:
normalize-space(/cars/car/text()[1])
请注意,尽管在XSLT 1.0 <xsl:value-of>
只输出由select
属性中表达式选择的节点集的第一个节点的字符串值,<xsl:copy-of>
将输出所有节点集中的节点。在XSLT 2.0中,即使<xsl:value-of>
也输出节点集中的所有节点。
因此,对于便携性,可升级性的目的,只是为了避免错误,最好是指定exactlyy节点从节点集是要输出 - 使用<xsl:value-of>
感谢您的快速和详细的回复。 – vlad 2011-05-28 23:45:47
@vlad:不客气。 – 2011-05-29 14:48:51
问得好,+1时也是如此。查看我的答案以获得两种替代解决方案和建议 – 2011-05-28 23:26:15