使用 XMLUnit 1.6 的 xpath 中的命名空间问题
Namespace issue in xpath using XMLUnit 1.6
我正在使用 XMLUnit 1.6 测试我的 xsl trasfromations.Mentioned 下面是两个示例测试。
在 test1() 中,xml 没有命名空间。 test1 正在通过,这是预期的。
在 test2() 中,xml 具有命名空间并且测试变得 failed.I 无法提供第二个预期的正确 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 的正确值。提前致谢。
您可以使用 xpath : //*[local-name()='Value']/text()
我正在使用 XMLUnit 1.6 测试我的 xsl trasfromations.Mentioned 下面是两个示例测试。
在 test1() 中,xml 没有命名空间。 test1 正在通过,这是预期的。
在 test2() 中,xml 具有命名空间并且测试变得 failed.I 无法提供第二个预期的正确 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 的正确值。提前致谢。
您可以使用 xpath : //*[local-name()='Value']/text()