У меня есть автономный проект java, в котором я оцениваю XPath из моего xml-файла и даю правильный результат. Когда я интегрировал свой исходный код в приложение, развернутое на websphere 7, результат больше не работает. После проверки я обнаружил, что в первом случае (автономный проект) Документ хорошо построен (все узлы из корня распознаются), а во втором случае (исходный код добавлен в развернутое приложение на WS 7) корень узел отсутствует в документе. В обоих случаях я работал с той же реализацией «DocumentBuilderFactory», и проблема не устранена. Это код я использовал:Оценка изменений XPath в разных средах
domFactory = DocumentBuilderFactory.newInstance();
xmlContent = new byte[inputStream.available()];
inputStream.read(xmlContent);
ByteArrayInputStream bais = new ByteArrayInputStream(xmlContent);
DocumentBuilder documentBuilder = domFactory.newDocumentBuilder();
document = documentBuilder .parse(bais);
xPATH = XPathFactory.newInstance().newXPath();
transformerFactory = TransformerFactory.newInstance();
transformer = transformerFactory.newTransformer();
Реализация DomFactory является: "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" из банки Xerces-impl.1.5
Любые идеи были бы полезны.
Проблема решена. Вы были правы, проблема была связана с содержимым InputStream. Во втором случае IS анализируется через два вида парсеров, которые изменяют его содержимое (корневого узла там не было). –