本文整理了Java中org.jdom2.xpath.XPath
类的一些代码示例,展示了XPath
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XPath
类的具体详情如下:
包路径:org.jdom2.xpath.XPath
类名称:XPath
[英]A utility class for performing XPath calls on JDOM nodes, with a factory interface for obtaining a first XPath instance. Users operate against this class while XPath vendors can plug-in implementations underneath. Users can choose an implementation using either #setXPathClass or the system property "org.jdom2.xpath.class".
[中]用于在JDOM节点上执行XPath调用的实用程序类,带有用于获取第一个XPath实例的工厂接口。用户针对这个类进行操作,而XPath供应商可以在下面实现插件。用户可以选择使用#setXPathClass或系统属性“org.jdom2.xpath.class”的实现。
代码示例来源:origin: simpligility/android-maven-plugin
XPath path = XPath.newInstance( xpath );
Object source = path.selectSingleNode( r.getRootElement() );
if ( !( source instanceof Element ) )
xpath, source ) );
Object target = path.selectSingleNode( doc.getRootElement() );
if ( !( target instanceof Element ) )
代码示例来源:origin: org.jdom/jdom
/**
* Evaluates an XPath expression and returns the list of selected
* items.
* <p>
* <strong>Note</strong>: This method should not be used when the
* same XPath expression needs to be applied several times (on the
* same or different contexts) as it requires the expression to be
* compiled before being evaluated. In such cases,
* {@link #newInstance allocating} an XPath wrapper instance and
* {@link #selectNodes(java.lang.Object) evaluating} it several
* times is way more efficient.
* </p>
*
* @param context the node to use as context for evaluating
* the XPath expression.
* @param path the XPath expression to evaluate.
*
* @return the list of selected items, which may be of types: {@link Element},
* {@link Attribute}, {@link Text}, {@link CDATA},
* {@link Comment}, {@link ProcessingInstruction}, Boolean,
* Double, or String.
*
* @throws JDOMException if the XPath expression is invalid or
* its evaluation on the specified context
* failed.
*/
public static List<?> selectNodes(Object context, String path)
throws JDOMException {
return newInstance(path).selectNodes(context);
}
代码示例来源:origin: org.jdom/jdom
/**
* Adds a namespace definition (prefix and URI) to the list of
* namespaces known of this XPath expression.
* <p>
* <strong>Note</strong>: In XPath, there is no such thing as a
* 'default namespace'. The empty prefix <b>always</b> resolves
* to the empty namespace URI.</p>
*
* @param prefix the namespace prefix.
* @param uri the namespace URI.
*
* @throws IllegalNameException if the prefix or uri are null or
* empty strings or if they contain
* illegal characters.
*/
public void addNamespace(String prefix, String uri) {
addNamespace(Namespace.getNamespace(prefix, uri));
}
代码示例来源:origin: org.openfuxml/ofx-util
public OfxIdGenerator()
{
autoId = 1;
try
{
xpath = XPath.newInstance("//ofx:section");
xpath.addNamespace(Namespace.getNamespace("ofx", "http://www.openfuxml.org"));
xpath.addNamespace(Namespace.getNamespace("wiki", "http://www.openfuxml.org/wiki"));
// List<?> list = xpath.selectNodes(doc.getRootElement());
// logger.debug(list.size()+" hits");
}
catch (JDOMException e) {logger.error("",e);}
}
代码示例来源:origin: org.openfuxml/ofx-wiki
public static synchronized Template getTemplate(Templates templates, String name) throws OfxConfigurationException
{
Template result = new Template();
try
{
XPath xpath = XPath.newInstance( "//wiki:template[@name='"+name+"']" );
xpath.addNamespace(Namespace.getNamespace("ofx", "http://www.openfuxml.org"));
xpath.addNamespace(Namespace.getNamespace("wiki", "http://www.openfuxml.org/wiki"));
Document doc = JaxbUtil.toDocument(templates);
Element e = (Element)xpath.selectSingleNode(doc);
if(e!=null){result = (Template)JDomUtil.toJaxb(e, Template.class);}
else{throw new OfxConfigurationException("No template definition for templateName="+name);}
}
catch (JDOMException e) {logger.error("",e);}
return result;
}
代码示例来源:origin: org.apache.jspwiki/jspwiki-main
XPath xpath = XPath.newInstance( selector );
xpath.addNamespace( "j", J2EE_SCHEMA_25_NAMESPACE );
List<?> nodes = xpath.selectNodes( root );
for( Iterator<?> it = nodes.iterator(); it.hasNext(); )
xpath = XPath.newInstance( selector );
xpath.addNamespace( "j", J2EE_SCHEMA_25_NAMESPACE );
nodes = xpath.selectNodes( root );
for( Iterator<?> it = nodes.iterator(); it.hasNext(); )
代码示例来源:origin: geotools/geotools
private static boolean setCoverages(Element root, StringBuilder builder) throws JDOMException {
builder.append(" <coverages>\n");
List<?> coverages = XPath.selectNodes(root, "coverages/coverage");
boolean longName = false;
for (Object cov : coverages) {
if (cov instanceof Element) {
if (setCoverage(((Element) cov), builder)) {
longName = true;
}
}
}
builder.append(" </coverages>\n");
return longName;
}
代码示例来源:origin: org.apache.jspwiki/jspwiki-main
private void printImage( Element base ) throws JDOMException
Element child = (Element)XPath.selectSingleNode( base, "TBODY/TR/TD/*" );
if( child == null )
map.put( "width", img.getAttributeValue( "width" ) );
map.put( "alt", img.getAttributeValue( "alt" ) );
map.put( "caption", emptyToNull( XPath.newInstance( "CAPTION" ).valueOf( base ) ) );
map.put( "link", href );
map.put( "border", img.getAttributeValue( "border" ) );
代码示例来源:origin: org.openfuxml/ofx-wiki
private void process() throws JDOMException
List<?> list = xpathCode.selectNodes(rootElement);
logger.debug(list.size()+" <code> elements found in "+rootElement.getName());
for (Iterator<?> iter = list.iterator(); iter.hasNext();)
Element eP = (Element)xpParent.selectSingleNode(eCode);
if(eP!=null)
Element ePre = (Element)xpathPre.selectSingleNode(eP);
if(ePre!=null)
代码示例来源:origin: geotools/geotools
private static boolean setCoverage(Element cov, StringBuilder builder) throws JDOMException {
builder.append(" <coverage>\n");
Element name = (Element) XPath.selectSingleNode(cov, "name");
String coverageName = name.getText();
builder.append(" <name>" + coverageName + "</name>\n");
Element schema = (Element) XPath.selectSingleNode(cov, "schema");
String schemaName = schema.getAttributeValue("name");
builder.append(" <schema name=\"" + schemaName + "\" >\n");
Element schemaAttributesElement = (Element) XPath.selectSingleNode(schema, "attributes");
String schemaAttribs = schemaAttributesElement.getText();
schemaAttribs =
schemaAttribs.replace("imageindex:Integer", "imageindex:Integer,location:String");
builder.append(" <attributes>" + schemaAttribs + "</attributes>\n");
builder.append(" </schema>\n");
addDomainsToCoverage(schemaAttribs, builder);
builder.append(" </coverage>\n");
return coverageName.length() > 62;
}
代码示例来源:origin: org.jdom/jdom
/**
* <i>[Serialization support]</i> Resolves the read XPathString
* objects into XPath implementations.
*
* @return an instance of a concrete implementation of
* XPath.
*
* @throws ObjectStreamException if no XPath could be built
* from the read object.
*/
private Object readResolve() throws ObjectStreamException {
try {
return XPath.newInstance(this.xPath);
}
catch (JDOMException ex1) {
throw new InvalidObjectException(
"Can't create XPath object for expression \"" +
this.xPath + "\": " + ex1.toString());
}
}
}
代码示例来源:origin: org.jdom/jdom
/**
* <i>[Serialization support]</i> Returns the alternative object
* to write to the stream when serializing this object. This
* method returns an instance of a dedicated nested class to
* serialize XPath expressions independently of the concrete
* implementation being used.
* <p>
* <strong>Note</strong>: Subclasses are not allowed to override
* this method to ensure valid serialization of all
* implementations.</p>
*
* @return an XPathString instance configured with the wrapped
* XPath expression.
*
* @throws ObjectStreamException never.
*/
protected final Object writeReplace() throws ObjectStreamException {
return new XPathString(this.getXPath());
}
代码示例来源:origin: org.openfuxml/ofx-util
public OfxContainerMerger()
{
lXpath = new ArrayList<XPath>();
try
{
Namespace nsOfx = Namespace.getNamespace("ofx", "http://www.openfuxml.org");
Namespace nsWiki = Namespace.getNamespace("wiki", "http://www.openfuxml.org/wiki");
XPath xpSections = XPath.newInstance("//ofx:sections");
xpSections.addNamespace(nsOfx); xpSections.addNamespace(nsWiki);
lXpath.add(xpSections);
XPath xpSectionTransparent = XPath.newInstance("//ofx:section[@container='true']");
xpSectionTransparent.addNamespace(nsOfx); xpSectionTransparent.addNamespace(nsWiki);
lXpath.add(xpSectionTransparent);
}
catch (JDOMException e) {logger.error("",e);}
}
代码示例来源:origin: Unidata/thredds
@Test
@Ignore("WMS not working")
public void checkWMSDates() throws JDOMException, IOException {
String endpoint = TestOnLocalServer.withHttpPath("/wms/cdmUnitTest/ncss/climatology/PF5_SST_Climatology_Monthly_1985_2001.nc?service=WMS&version=1.3.0&request=GetCapabilities");
byte[] result = TestOnLocalServer.getContent(endpoint, 200, ContentType.xml);
Reader in = new StringReader( new String(result, CDM.utf8Charset));
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(in);
if (show) {
XMLOutputter fmt = new XMLOutputter(Format.getPrettyFormat());
fmt.output(doc, System.out);
}
XPath xPath = XPath.newInstance("//wms:Dimension");
xPath.addNamespace("wms", doc.getRootElement().getNamespaceURI());
Element dimNode = (Element) xPath.selectSingleNode(doc);
//List<String> content = Arrays.asList(dimNode.getText().trim().split(","));
List<String> content = new ArrayList<>();
for (String d : Arrays.asList(dimNode.getText().trim().split(","))) {
// System.out.printf("Date= %s%n", d);
CalendarDate cd = CalendarDate.parseISOformat(null, d);
content.add(cd.toString());
}
assertEquals(expectedDatesAsDateTime, content);
}
代码示例来源:origin: org.apache.jspwiki/jspwiki-main
xpath = XPath.newInstance( selector );
xpath.addNamespace( "j", J2EE_SCHEMA_25_NAMESPACE );
List<?> constraints = xpath.selectNodes( root );
xpath = XPath.newInstance( selector );
xpath.addNamespace( "j", J2EE_SCHEMA_25_NAMESPACE );
List<?> roles = xpath.selectNodes( root );
代码示例来源:origin: geotools/geotools
private static void getAttributes(
Set<String> timeAttributes, Set<String> elevationAttributes, Element root)
throws JDOMException {
List<?> schemaAttributes = XPath.selectNodes(root, "coverages/coverage/schema/attributes");
for (Object e : schemaAttributes) {
if (e instanceof Element) {
String attributes = ((Element) e).getText();
String[] attribs = attributes.split(",");
for (String attrib : attribs) {
if (attrib.contains(TIME_ATTRIB_TYPE)) {
String[] nameTypePair = attrib.split(":");
String name = nameTypePair[0];
if (!timeAttributes.contains(name)) {
timeAttributes.add(name);
}
} else if (attrib.contains(ELEVATION_ATTRIB_TYPE_FLOAT)
|| attrib.contains(ELEVATION_ATTRIB_TYPE_DOUBLE)) {
String[] nameTypePair = attrib.split(":");
String name = nameTypePair[0];
if (!elevationAttributes.contains(name)) {
elevationAttributes.add(name);
}
}
}
}
}
}
代码示例来源:origin: Renanse/Ardor3D
/**
* Select nodes through an XPath query and returns the first hit
*
* @param element
* root element to start search on
* @param query
* XPath expression
* @return the first selected item, which may be of types: {@link Element}, {@link Attribute}, {@link Text},
* {@link CDATA}, {@link Comment}, {@link ProcessingInstruction}, Boolean, Double, String, or
* <code>null</code> if no item was selected.
*/
public Object selectSingleNode(final Element element, final String query) {
final XPath xPathExpression = getXPathExpression(query);
try {
return xPathExpression.selectSingleNode(element);
} catch (final JDOMException e) {
e.printStackTrace();
}
return null;
}
代码示例来源:origin: org.openfuxml/ofx-wiki
public XhtmlCodePreMover()
{
try
{
xpathCode = XPath.newInstance("//code");
xpParent = XPath.newInstance("..");
xpathPre = XPath.newInstance("following-sibling::pre[position()=1]");
// xpath.addNamespace(Namespace.getNamespace("ofx", "http://www.openfuxml.org"));
// xpath.addNamespace(Namespace.getNamespace("wiki", "http://www.openfuxml.org/wiki"));
}
catch (JDOMException e) {logger.error("",e);}
}
代码示例来源:origin: org.openfuxml/ofx-util
public OfxContentTrimmer()
{
lXpath = new ArrayList<XPath>();
try
{
Namespace nsOfx = Namespace.getNamespace("ofx", "http://www.openfuxml.org");
Namespace nsWiki = Namespace.getNamespace("wiki", "http://www.openfuxml.org/wiki");
XPath xpSections = XPath.newInstance("//ofx:paragraph");
xpSections.addNamespace(nsOfx); xpSections.addNamespace(nsWiki);
lXpath.add(xpSections);
}
catch (JDOMException e) {logger.error("",e);}
}
代码示例来源:origin: org.jdom/jdom
/**
* Evaluates the wrapped XPath expression and returns the first
* entry in the list of selected nodes (or atomics).
* <p>
* <strong>Note</strong>: This method should not be used when the
* same XPath expression needs to be applied several times (on the
* same or different contexts) as it requires the expression to be
* compiled before being evaluated. In such cases,
* {@link #newInstance allocating} an XPath wrapper instance and
* {@link #selectSingleNode(java.lang.Object) evaluating} it
* several times is way more efficient.
* </p>
*
* @param context the element to use as context for evaluating
* the XPath expression.
* @param path the XPath expression to evaluate.
*
* @return the first selected item, which may be of types: {@link Element},
* {@link Attribute}, {@link Text}, {@link CDATA},
* {@link Comment}, {@link ProcessingInstruction}, Boolean,
* Double, String, or <code>null</code> if no item was selected.
*
* @throws JDOMException if the XPath expression is invalid or
* its evaluation on the specified context
* failed.
*/
public static Object selectSingleNode(Object context, String path)
throws JDOMException {
return newInstance(path).selectSingleNode(context);
}
内容来源于网络,如有侵权,请联系作者删除!