Pesquisas no web.xml com XPath

Olá.
Estou com o seguinte problema, eu estou precisando recuperar a partir do nome da classe de um servlet o seu url-mapping.
Para isso decidi usar pesquisa com XPath no arquivo web.xml.
Para isso faço duas buscas:
uma com //servlet[servlet-class=‘AlgumServlet’] para pegar o nome do servlet no xml e outra com

e outra com //servlet-mapping[servlet-name=‘resultado da primeira busca’]

Até aqui tudo bem, só que quando uso o xpath com a seguinte tag no web.xml

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

ele fala que web-app é usado mas não declarado no DTD/Schema.
e isso faz com que minha busca não retorne porcaria nenhuma.
Já se eu diminuir o código para simplesmente

<web-app>

minha buscas funcionam sem problemas…
Eu pensei em pegar o arquivo web.xml, ir lendo ele e coloca-lo em uma array de bytes trocando essa linha, mas me pareceu uma tremenda gambiarra. Alguém tem uma sugestão mais elegante?
Há, eu estou usando a Classe XPath do pacote javax.xml.xpath.
[]'s

Bom, tive problemas parecido com esse e geralmente acontece pq o parser ñ encontra o DTD / Schema.
Vc tentou setar a validação de schema/dtd para false ?

Olá chicobento.
Não, eu nem sabia que dava para fazer isso. Poderia me dar um exemplo de como isso é feito?

Olá chicobento. Vlw pela resposta.
Não, eu nem sabia que dava para fazer isso :? Poderia me dar um exemplo de como isso é feito?

Opa. Vc pode enviar o codigo que vc usa para fazer o parser e a busca com o xpath ?

Meu código:

File webXml = new File("\\C:\\projetos\\Site\\web\\WEB-INF\\web.xml");
    
        
        try {            
            FileReader fr = new FileReader(webXml);
            InputSource is = new InputSource(fr);
            
            //tentativa com xpath
            javax.xml.xpath.XPathFactory xF = XPathFactory.newInstance();
            javax.xml.xpath.XPath x = xF.newXPath();
            Node node = (Node) x.evaluate("//servlet[servlet-class='nome da classe do meu servlet']", is, XPathConstants.NODE);
           }
           catch(Exception e)
            {
                e.printStackTrace();
             }

Bom, resolvido o problema, vou postar aqui o código para quando alguém precisar, não esquecendo de dar os créditos para chicobento, que é o verdadeiro autor original do código e me ajudou pra caramba:

File webXml =  new File("web\\WEB-INF\\web.xml");
        System.out.println(webXml.exists());
        
        DocumentBuilderFactory factory = DocumentBuilderFactoryImpl.newInstance() ;
        factory.setValidating(false);
        factory.setIgnoringComments(true);
        factory.setIgnoringElementContentWhitespace(true);
        DocumentBuilder docB;
        
        try {
            docB = factory.newDocumentBuilder();
            Document doc = docB.parse(webXml);
            XPathFactory xF = XPathFactory.newInstance();
            XPath xp = xF.newXPath();
            Node node =  (Node) xp.evaluate("//servlet[servlet-class='classe do servlet']", doc, XPathConstants.NODE);

        } catch (Exception ex) {
            ex.printStackTrace();
        }

[]'s e vlw