使用XMLUnit 1.6在xpath中发出命名空间问题

时间:2016-10-25 13:24:50

标签: java xpath namespaces xmlunit

我使用XMLUnit 1.6来测试我的xsl trasfromations。以下是两个示例测试。 在test1()中,xml没有命名空间。 test1正在通过,这是预期的。 在test2()中,xml正在使用命名空间,测试正在失败。我无法提供第二个中预期的正确xpath assertXpathEvaluatesTo("expectedValue","xpath","ResultXML")的论点。

@Test
public void test1() throws Exception {

    String resultXML =  "<MyXML><Value>3</Value></MyXML>";
    XMLAssert.assertXpathEvaluatesTo("3","//Value",resultXML);
}

@Test
public void test2() throws Exception {

    String resultXML =  "<tns:MyXML xmlns:tns='testns'><tns:Value>3</tns:Value></tns:MyXML>";
    XMLAssert.assertXpathEvaluatesTo("3","//{testns}Value",resultXML);

}

任何人都可以帮助正确的xpath值。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用xpath://*[local-name()='Value']/text()