0

我正在使用 saxon 来处理我的 xpath,但有时 xml 文件带有命名空间声明,这使我的类抛出异常。有什么方法可以在使用撒克逊语时忽略命名空间,就像我们使用 dom ie 一样

builder.setEntityResolver(new EntityResolver()
        {

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

                return null;
            }
        });
4

1 回答 1

0

如果不想在 XPath 中使用名称空间,可以使用local-name(),例如:

/pref:root/pref:element1[@attr="value"]/pref:element2

如果你有上面的 XPath(带有命名空间),你也可以这样写:

/*[local-name() = "root"]/*[local-name() = "element1"][@attr="value"]/*[local-name() = "element2"]

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

于 2013-10-04T10:38:12.280 回答