我有两个使用一个xsl的xml文件
只有这些xml文件的区别在于,第一个文件具有<Valuation>
元素,第二个xml具有<NadaDualValuation>
和子<mar:Valuation>
元素
我想在<AICOption>
元素中获取数据,有多个ComparableVehicleRecord。
所以对于第一个xml我有
<xsl:for-each select="/df:ValuationReport/df:Valuation/mar:CVDBValuationData/mar:ComparableVehicleRecord[$ComparableNo]/typ2:AICOption">
我是XSLT的新手,请建议我如何让同样的线路也能用于第二个xml。 感谢任何帮助,谢谢。
答案 0 :(得分:1)
我猜你想要的东西是:
<xsl:for-each select="
df:ValuationReport/df:Valuation/mar:CVDBValuationData/mar:ComparableVehicleRecord/typ2:AICOption | df:ValuationReport/df:NADADualValuation/mar:Valuation/mar:CVDBValuationData/mar:ComparableVehicleRecord/typ2:AICOption">
答案 1 :(得分:0)
如果您需要所有AICOption
元素而不管其祖先上下文,
<xsl:for-each select="//typ2:AICOption">
将抽象出上下文差异并为两个文件工作。
如果您需要某些上下文,您仍然可以在上下文重要的点之上使用//
:
<xsl:for-each select="//mar:ComparableVehicleRecord[$ComparableNo]/typ2:AICOption">
一般的想法是//
在所有后代(和自己)中进行选择,因此您可以在重要的上下文之上使用它,以便您的XPath可以与您的两个文件一起使用。