我正在提取XML文件的一部分。
而且我需要获取Data的三个第三值(分别为1.25
,1.9
和2.92
)。
XML文件代码如下:
<logData>
<data>499,498.99,1.25,0,1.45,3.67,11.02,187.66,0.29,116.24,0.01,0.05,0.01,0,886.03,1089.99,1.11,14.67,0.29,1.12,1.11</data>
<data>500.01,500,1.9,0.01,1.42,9.94,11.32,185.7,0.29,116.24,0.01,0.01,0.01,0,795.19,973.48,1.11,14.67,0.29,0.95,1.11</data>
<data>501.03,501.02,2.92,0.02,1.41,20.46,11.62,184.23,0.29,120,0.01,0.01,0.01,0,796.68,956.25,1.11,14.67,0.29,0.83,1.11</data>
</logData>
(tokenize(//logData/data,','))[3]
返回错误消息”
“无法执行XPath操作。一系列不止一项 不允许作为tokenize()的第一个参数。”
由于Xpath自动循环,因此应具有一种语法,该语法允许选择要应用标记化的第一组数据,然后移至下一组,依此类推。
任何帮助将不胜感激!
答案 0 :(得分:0)
tokenize()
接受输入作为字符串并返回字符串值。
如果您想获取值,则可能必须传递带有索引的xpath
。
tokenize(//logData/data[1],',')[3] #returns 1.25
tokenize(//logData/data[2],',')[3] #returns 1.9
tokenize(//logData/data[last()],',')[3] #returns 2.92