Как извлечь данные из тэга xml?
Имеется такой xml файл: как быстро и просто извлечь в String значение поля value в указанном тэге (production:operationBO). Заранее благодарю!

Вот мое решение (не работает):
XPath xPath = XPathFactory.newInstance().newXPath();
String data =
xPath.evaluate(
"//production:operationBO[@key='value']",
new InputSource(fileReader)
);
System.out.println(data);
Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
Ваш XML имеет пространство имен (namespace). Следует позаботиться об этом.
Пожалуйста, смотрите ниже, как.
Java
NamespaceContext ctx = new NamespaceContext() {
public String getNamespaceURI(String prefix) {
return prefix.equals("production") ? "whatever-is-hidden" : null;
}
public Iterator getPrefixes(String val) {
return null;
}
public String getPrefix(String uri) {
return null;
}
};
XPath xPath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(ctx);
String data = xPath.evaluate("//production:operationBO/value/text()",
new InputSource(fileReader)
);
System.out.println(data);