如何使用XPATH分别获取每个值

时间:2018-12-01 01:15:39

标签: xpath

尝试获取每条记录,其中第一个令牌元素包含属性名称,并且实际值出现在第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>

1 个答案:

答案 0 :(得分:1)

要仅选择第一个令牌元素,可以使用以下XPath选择第一个令牌元素,该元素使用速记语法表示position()等于1:

/tokens/token[1]

要选择从第二个tokenlast()的所有“行”,可以使用谓词来测试position()大于1的地方:

/tokens/token[position() > 1]

如果要从任何行中选择一个特定的“列”,则可以在tokenize(),

从数据的第一个“行”中选择第一个“列”的示例:

tokenize(/tokens/token[position() > 1][1], ",")[1]

如果您需要提取引号之间的值,则可以使用substring(),从2string-length() - 2中选择