如何在使用saxon时解析实体

时间:2013-10-04 10:13:37

标签: xpath

我使用saxon来处理我的xpath,但有时xml文件带有命名空间声明,这使我的类抛出异常。 有没有办法在使用saxon时忽略名称空间,就像我们使用dom那样

builder.setEntityResolver(new EntityResolver()
        {

            public InputSource resolveEntity(String publicId,
                    String systemId) throws SAXException,IOException
            {

                return null;
            }
        });

1 个答案:

答案 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"]

这将允许您不使用名称空间