VTD Xml解析器Java示例

时间:2019-02-20 00:38:20

标签: java eclipse xpath vtd-xml

我从使用Java Spark的HBase获得数据,并且有关记录中的一列包含XML数据。我正在使用VTD解析器通过XPath解析XML和查询值。
是否可以在一个循环中提供多个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吗?

0 个答案:

没有答案