如何使用XSL获取特定元素的值

时间:2019-11-28 21:59:32

标签: xml xslt

我有以下xml代码:

curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents("php://input"),$POSTFIELDS);

我正在使用XSL转换我的xml文件,并且我不知道如何仅获取值2486。例如,如何指定该值位于元素{{的子元素) <DataObjects> <DataOb Code="Object.First"> <Ro Code="Row10"> <Co Code="Column10">145875</Co> <Co Code="Column20">23456</Co> </Ro> <Ro Code="Row20"> <Co Code="Column10">2486</Co> <Co Code="Column20">1348646</Co> </Ro> </DataOb> </DataObjects> 中1}}。

谢谢 乔治

1 个答案:

答案 0 :(得分:0)

检索值“ 2486”的最精确的XPath-1.0表达式是

/DataObjects/DataOb[@Code='Object.First']/Ro[@Code='Row20']/Co[@Code='Column10']

在XSLT-1.0中,应该是

<xsl:value-of select="/DataObjects/DataOb[@Code='Object.First']/Ro[@Code='Row20']/Co[@Code='Column10']" />

  

如何指定值在元素<Co Code="Column10">的子元素<Ro Code="Row20">中。

要完全根据需要检索值,应使用XPath-1.0表达式

//Co[@Code='Column10'][parent::Ro[@Code='Row20']]

或者简化

//Ro[@Code='Row20']/Co[@Code='Column10']