我使用saxon来处理我的xpath,但有时xml文件带有命名空间声明,这使我的类抛出异常。 有没有办法在使用saxon时忽略名称空间,就像我们使用dom那样
builder.setEntityResolver(new EntityResolver()
{
public InputSource resolveEntity(String publicId,
String systemId) throws SAXException,IOException
{
return null;
}
});
答案 0 :(得分:0)
如果您不想在XPath中使用名称空间,可以使用local-name()
,例如:
/pref:root/pref:element1[@attr="value"]/pref:element2
如果您有上述XPath(带名称空间),您也可以这样写:
/*[local-name() = "root"]/*[local-name() = "element1"][@attr="value"]/*[local-name() = "element2"]
这将允许您不使用名称空间