I am trying to parse an XML file using XPath
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); // never forget this! DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(File); XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); XPathExpression expr = xpath.compile("//PerosnList/List/Person");
It took me a long time to see that it does not work, because the root element received the xmlns attribute as soon as I remove the attr, it works fine !, how can I bypass this xlmns attr without deleting it from the file?
xml looks like this:
<?xml version="1.0" encoding="utf-8"?> <Root xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/vsDal.Entities"> ..... .... <PersonList> ... <List> <Person></Person> <Person></Person> <Person></Person> </List> </PersonList> </Root>
Thanks.
source share