xmlPath的使用方法跟JsonPath的使用方法相近,下面简单总结一下:

准备xml文件数据:

 <records>
<car name='HSV Maloo' make='Holden' year='2006'>
<country>Australia</country>
<record type='speed'>Pickup Truck with speed of 271kph</record>
</car>
<car name='P50' make='Peel' year='1962'>
<country>Isle of Man</country>
<record type='size'>Street-Legal Car at 99cm wide, 59kg</record>
</car>
<car name='Royale' make='Bugatti' year='1929'>
<country>France</country>
<record type='price'>Most Valuable Car at $15 million</record>
</car>
</records>

下面我们使用rest-assured的xmlPath来简单的提取一些值:

 //recordsXml代表xml文件数据
XmlPath xmlPath = new XmlPath(recordsXml);
//设置根路径
xmlPath.setRoot("records"); //获取第一个car的name属性
String nameOfFirstCar = xmlPath.get("car[0].@name");
// 获取最后一个car的country属性
String nameOfCountryForLastCar = xmlPath.get("car[-1].country");
// 获取前两个记录的年份,作为一个list(使用ints)
List<string> years = xmlPath.getList("car[0..1].@year", Integer.class);

与JsonPath一样,xmlPath同样支持简单提取某个值:

 // "from"从XmlPath中静态导入
String firstCarName = from(recordXml).get("records.car[0].@name");

你也可以做一些复杂点的操作,比如以int的形式获取第一条记录的年份:

 // Year is 1929
int year = from(recordXml).
getInt("records.car.@year.list()*.toInteger().min()");

我们首先将所有year属性转换为一个list,list中的所有元素都调用toInteger() 方法(这需要year属性在xml文档中以String类型展示),然后调用min()方法,返回list中的最小元素:1929

rest-assured的xmlPath使用方法总结的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. XQuery的 value() 方法、 exist() 方法 和 nodes() 方法

    Xml数据类型 /*------------------------------------------------------------------------------+ #| = : = : ...

  3. C#操作XML方法集合

    一 前言 先来了解下操作XML所涉及到的几个类及之间的关系  如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家 * 1 XMLElement 主要是针对节点的一些属性进行操 ...

  4. c#操作XML文件的通用方法

    转载地址:http://www.studyofnet.com/news/36.html 原址没找到 sing System; using System.Data; using System.Confi ...

  5. 转载---SQL Server XML基础学习之<6>--XQuery的 value() 方法、 exist() 方法 和 nodes() 方法

    /*------------------------------------------------------------------------------+ #| = : = : = : = : ...

  6. ASP.net Application及Session 的start end 方法总结

    经过几天的摸索,试验,今天终于可以将Application及Session对象的Start和End方法做下总结了. Application_start: 第一个访问网站的用户会触发该方法. 通常会在该 ...

  7. swfobject.js 2.2简单使用方法

    swfobject.js 2.2简单使用方法 官方网址介绍http://code.google.com/p/swfobject/wiki/documentation 用法:html部分<div ...

  8. 用Spring构建企业Java应用程序的方法

    https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247484965&idx=1&sn=ca6b847c65e506 ...

  9. C# xml 常规 保护 方法总结

    一 使用xsd模式文件验证xml文件: xml文件: <?xml version="1.0" encoding="utf-8" ?> <Boo ...

随机推荐

  1. libevent源码深度剖析十二

    libevent源码深度剖析十二 ——让libevent支持多线程 张亮 Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libev ...

  2. iOS与HTML5交互方法总结(修正)

    摘要 看了不少别人写的博客或者论坛,关于iOS与HTML5交互方法大概主要有5种方式: 1. 利用WKWebView进行交互(系统API) 2. 利用UIWebView进行交互(系统API) 3. 苹 ...

  3. Python编写两个数的加减法游戏

    目标: 1.实现两个数的加减法 2.回答者3次输错计算结果后,输出正确结果,并询问回答者是否继续 1.使用常规函数实现两个数的加减法游戏 代码如下: #!/usr/bin/env python # - ...

  4. Mybatis和Hibernate比较

    作者:乌拉拉链接:http://www.zhihu.com/question/21104468/answer/58579295来源:知乎著作权归作者所有,转载请联系作者获得授权. 1.开发对比开发速度 ...

  5. Hadoop 使用Combiner提高Map/Reduce程序效率

    众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出. 在上述过 ...

  6. Java虚拟机学习总结之OutOfMemoryError异常

    参考:深入理解java虚拟机一书 开始之前,我们也应当搞清楚连个概念,内存泄漏Memory Leak 内存溢出: 内存泄漏:程序中间动态分配了内存,但是在程序结束时没有释放内存,造成这部分内存不可用. ...

  7. Bean管理注解的例子

  8. vuex 数据绑定

    操作文档: 安装vuex: cnpm install vuex --save   文档介绍: https://vuex.vuejs.org/guide/modules.html   import Vu ...

  9. App测试从入门到精通之性能测试

    好了,上节我们介绍了关于APP测试的功能测试方面一些细节.这一篇我们来介绍一下,关于APP测试过程中的性能测试参考要点,我们需要思考的如下: 响应时间 1.APP安装卸载的响应时间 2.APP各种功能 ...

  10. Request[]与Request.Params[] 差别

    Request[]与Request.Params[] ,这二个属性都可以让我们方便地根据一个KEY去[同时搜索]QueryString.Form.Cookies 或 ServerVariables这4 ...