У меня есть данные из HBase, использующие Java Spark, и у рассматриваемой записи есть столбец, содержащий данные XML.Я использую синтаксический анализатор VTD для анализа XML и значений запроса через XPath.
Возможно ли обеспечить несколько XPath в цикле, искать их один за другим и давать значение.Мы хотели бы избежать жесткой записи XPath и вызывать его несколько раз в коде.Мое требование состоит в том, чтобы указать все значения xpath в файле конфигурации и вызвать функцию, чтобы она выдала все значения, соответствующие XPath.
public String getTxnRef() throws Exception {
String path = "//HJG/ERY";
ap.resetXPath(); //Reset the internal state so the XPath can be re-used
ap.selectXPath(path); //This method compiles a XPath expression into internal representation
if ((ap.evalXPath()) != -1) {
int val = vn.getText();
if (val != -1) {
// if (vn.toElement(vn.PREV_SIBLING, categoryType)) {
return vn.toNormalizedString(vn.getText());
}
}
return null;
}
public String getDateCreated() throws Exception {
String path = "//ABC/fgh";
ap.resetXPath(); //Reset the internal state so the XPath can be re-used
ap.selectXPath(path); //This method compiles a XPath expression into internal representation
if ((ap.evalXPath()) != -1) {
int val = vn.getText();
if (val != -1) {
// if (vn.toElement(vn.PREV_SIBLING, categoryType)) {
return vn.toNormalizedString(vn.getText());
}
Для другого Xpath нам нужно снова написать одну и ту же функцию.
Можем ли мы вызвать только одну функцию для передачи нескольких XPath?