本文整理汇总了Java中net.sf.jasperreports.engine.util.xml.JRXPathExecuter类的典型用法代码示例。如果您正苦于以下问题:Java JRXPathExecuter类的具体用法?Java JRXPathExecuter怎么用?Java JRXPathExecuter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
JRXPathExecuter类属于net.sf.jasperreports.engine.util.xml包,在下文中一共展示了JRXPathExecuter类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFieldsFromDocument
import net.sf.jasperreports.engine.util.xml.JRXPathExecuter; //导入依赖的package包/类
/**
* Returns the list of fields provided by an XML document and the related
* query.
*
* @param doc
* the W3C XML document
* @param jConfig
* the JasperReports configuration instance
* @param jDataset
* the current dataset
* @return the list of fields
* @throws JRException
*/
protected List<JRDesignField> getFieldsFromDocument(Document doc, JasperReportsConfiguration jConfig, JRDataset jDataset) throws JRException {
JRXPathExecuterFactory xPathExecuterFactory = JRXPathExecuterUtils.getXPathExecuterFactory(jConfig);
JRXPathExecuter xPathExecuter = xPathExecuterFactory.getXPathExecuter();
NodeList nodes = xPathExecuter.selectNodeList(doc, jDataset.getQuery().getText());
LinkedHashMap<String, JRDesignField> fieldsMap = new LinkedHashMap<String, JRDesignField>();
for (int nIdx = 0; nIdx < nodes.getLength(); nIdx++) {
Node currNode = nodes.item(nIdx);
findDirectChildrenAttributes(currNode,fieldsMap,"");
if(currNode.getNodeType() == Node.ELEMENT_NODE) {
NodeList childNodes = currNode.getChildNodes();
findChildFields(childNodes, fieldsMap,"");
}
}
return new ArrayList<JRDesignField>(fieldsMap.values());
}