当前位置: 首页 > 知识库问答 >
问题:

使用REST-assured的XmlPath查找所有XML节点

司徒博容
2023-03-14

假设我有以下XML文档:

<Devices>
    <Scanners>
        <atom:link href="http://localhost/111" rel="http://1" />
        <atom:link href="http://localhost/222" rel="http://2" />
    </Scanners>
    <Printers>
        <atom:link href="http://localhost/333" rel="http://3" />
        <atom:link href="http://localhost/444" rel="http://4" />
    </Printers>
    <atom:link href="http://localhost/555" rel="http://5" />
</Devices>

使用REST assured的XmlPath我想阅读所有

XmlPath xmlPath = new XmlPath(response);
// This gives me a list of five entries --> OK
List<Node> linkNodes = xmlPath.get("depthFirst().findAll { it.name() == 'link' }");
// This prints five empty lines --> NOT OK
for (Node linkNode : linkNodes) {
  System.out.println(linkNode.get("@href"));
}

我错过了什么?


共有1个答案

赵超
2023-03-14

只做以下事情就足够了吗?

List<String> links = xmlPath.get("**.findAll { it.name() == 'link' }.@href");
...
 类似资料:
  • 我终于想出了如何从XML中获取列表。然而,放心网站并没有详细说明如何为我得到的列表做出断言。我如何断言这部电影有布鲁斯·威利斯作为一个演员,有一个放心的格式,什么时候,然后?是否使用给定()中的列表?

  • REST-assured 用于方便 REST 服务测试的 JAVA DSL。 举例如下: Here's an example of how to make a GET request and validate the JSON or XML response: get("/lotto").then().assertThat().body("lotto.lottoId", equalTo(5));

  • 下面是REST请求的响应,我的要求是验证name节点是否包含“军事”和amount节点是否等于500 我正在我的项目中使用REST-Assured IO API。你能帮我把这个要求编码一下吗?

  • 问题内容: 在中,我想找到标记以及两者之间的所有内容,如下所示: 我想找到标记以及之间的所有内容,然后将其删除。 标签之间的所有内容都是变量,但是我想在获得时删除整个标签和子标签。 有人知道该怎么做吗? 问题答案: 使用正则表达式进行HTML / XML解析不是一个好主意… 但是,如果仍然要执行此操作,请搜索正则表达式模式 并将其替换为空字符串…

  • 我有一个XMLPath对象,我想为一些节点取属性名。例如, 对于这个XML,什么是XMLPath表达式来获取的属性? 我可以通过以下内容获取md:EntityDescriptor的entityID: 但是对于位置属性,我想得到 我得到的输出是,其他什么都没有。

  • 问题内容: 给定以下模型: 给定以下数据: 产生以下树: 现在我可以找到5个这样的父母: 但是如何从5开始获取所有节点(1,2,3,4,5,6)? 问题答案: Oracle的CONNECT BY语法旨在遍历分层数据:它是单向的,因此不适合表示需要双向性的图。无法进行一个查询,这是使所有节点从5开始的工作。 很久以前,我回答了一个关于在层次结构中展平节点的问题(即传递闭包),即如果为true,则“