尝试获取每条记录,其中第一个令牌元素包含属性名称,并且实际值出现在第2行中。
<tokens>
<token>"HostRecordName","Change","IPAddress"</token>
<token>"lvs1-plcws-001.paypalcorp.com","Deleted","10.185.254.56"</token>
<token>"lvs1-plcws-002.paypalcorp.com","Deleted","10.185.254.57"</token>
<token>"phx11-plcws-001.paypalcorp.com","Deleted","10.222.254.20"</token>
<token>"phx11-plcws-002.paypalcorp.com","Deleted","10.222.254.21"</token>
<token>"lvs1-apiws-001.paypalcorp.com","Added","10.185.254.56"</token>
<token>"lvs1-apiws-002.paypalcorp.com","Added","10.185.254.57"</token>
<token>"phx11-apiws-001.paypalcorp.com","Added","10.222.254.20"</token>
<token>"phx11-apiws-002.paypalcorp.com","Added","10.222.254.21"</token>
</tokens>
答案 0 :(得分:1)
要仅选择第一个令牌元素,可以使用以下XPath选择第一个令牌元素,该元素使用速记语法表示position()
等于1:
/tokens/token[1]
要选择从第二个token
到last()
的所有“行”,可以使用谓词来测试position()
大于1的地方:
/tokens/token[position() > 1]
如果要从任何行中选择一个特定的“列”,则可以在tokenize()
上,
。
从数据的第一个“行”中选择第一个“列”的示例:
tokenize(/tokens/token[position() > 1][1], ",")[1]
如果您需要提取引号之间的值,则可以使用substring()
,从2
到string-length() - 2
中选择