org.jdom.Element.getDescendants()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(134)

本文整理了Java中org.jdom.Element.getDescendants()方法的一些代码示例,展示了Element.getDescendants()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Element.getDescendants()方法的具体详情如下:
包路径:org.jdom.Element
类名称:Element
方法名:getDescendants

Element.getDescendants介绍

[英]Returns an iterator that walks over all descendants in document order.
[中]返回按文档顺序遍历所有子体的迭代器。

代码示例

代码示例来源:origin: org.codehaus.xfire/xfire-core

public Iterator getDescendants()
{
  return element.getDescendants();
}

代码示例来源:origin: net.bpelunit/util

@SuppressWarnings("unchecked")
public static Iterator<Element> getDescendants(Element parent, ElementFilter filter) {
  return parent.getDescendants(filter);
}

代码示例来源:origin: org.codehaus.xfire/xfire-core

public Iterator getDescendants(Filter filter)
{
  return element.getDescendants(filter);
}

代码示例来源:origin: locationtech/geowave

public static Element findFirstChild(final Element parentEl, final String childName) {
 final ElementFilter filter = new ElementFilter(childName);
 final Iterator<Element> childrenIter = parentEl.getDescendants(filter);
 if (childrenIter.hasNext()) {
  return childrenIter.next();
 }
 return null;
}

代码示例来源:origin: miltonio/milton2

public static  List<Element> getElements(Element root, String name) {
  List<Element> list = new ArrayList<Element>();
  Iterator it = root.getDescendants(new ElementFilter(name));
  while(it.hasNext()) {
    Object o = it.next();
    if( o instanceof Element) {
      list.add((Element)o);
    }
  }
  return list;
}

代码示例来源:origin: net.bpelunit/framework

public void setOriginalBPELProcess(Element process) {
  Iterator<Element> compensHandlers = process
      .getDescendants(new ElementFilter(COMPENSATION_HANDLER,
          getProcessNamespace()));
  elementsOfBPEL = new ArrayList<Element>();
  while (compensHandlers.hasNext()) {
    elementsOfBPEL.add(compensHandlers.next());
  }
}

代码示例来源:origin: stackoverflow.com

FileInputStream fis = new FileInputStream(file); //where file holds the data to parse. 

Can also use StringBuilder
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(fis); //build a JDOM doc from file
ArrayList<String> arl = new ArrayList<String>();
Element root = doc.getRootElement();
Iterator elemIter = root.getDescendants(); //you can put filters on this to only get specific types of elements ie: root.getDescendants("ZQuery"); will give you an iterator over just ZQuery elements. 

while (elemIter.hasNext()) {
  Element foo = (Element) elemIter.next();
  String CDATA = foo.getChildText("ZQuery")
  arl.add(CDATA);
}

代码示例来源:origin: stackoverflow.com

SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new File("src/com/foo/test.xml"));
Element root = document.getRootElement();
ElementFilter filter = new ElementFilter();
Iterator i = root.getDescendants(filter);
while (i.hasNext()) {
  Element element = (Element) i.next();
  System.out.println(element);
}

代码示例来源:origin: stackoverflow.com

public String getTitleText(final Element title) {
  final StringBuilder sb = new StringBuilder();
  for (final Text txt : title.getDescendants(Filters.text())) {
    final Element parent = txt.getParentElement();
    if (parent == title || 
        parent.getAttributeValue("active", "not").equals("true")) {
      sb.append(txt.getValue());
    }
  }
  return sb.toString();
}

代码示例来源:origin: net.bpelunit/framework

private Element searchSourceElement2(Element link, Element processElement) {
  Iterator<Element> iter = processElement
      .getDescendants(new ElementFilter(SOURCE_TAG,
          getProcessNamespace()));
  Element source = null;
  String linkName = link.getAttributeValue(ATTRIBUTE_NAME);
  while (iter.hasNext()) {
    source = iter.next();
    String attribut = source.getAttributeValue(ATTRIBUTE_LINKNAME);
    if (attribut != null && attribut.equals(linkName)) {
      break;
    }
  }
  return source;
}

代码示例来源:origin: stackoverflow.com

Element root = document.getRootElement();
ElementFilter filter = new org.jdom2.filter.ElementFilter("model");
for(Element c : root.getDescendants(filter)) {
  System.out.println(c.getTextNormalize());
}

代码示例来源:origin: net.bpelunit/framework

/**
 * Erhält die noch nicht modifizierte Beschreibung des BPELProzesses als
 * XML-Element. Alle für die Instrumentierung benötigten Elemente der
 * Prozessbeschreibung werden gespeichert
 * 
 * @param process
 *            noch nicht modifiziertes BPEL-Prozess
 */
public void setOriginalBPELProcess(Element process) {
  elementsOfBPEL = new ArrayList<Element>();
  Iterator<Element> iter = process
      .getDescendants(new ElementFilter(LinkMetricHandler.LINK_TAG,
          process.getNamespace()));
  while (iter.hasNext()) {
    elementsOfBPEL.add(iter.next());
  }
}

代码示例来源:origin: net.bpelunit/framework

public void setOriginalBPELProcess(Element process) {
  @SuppressWarnings("serial")
  ElementFilter filter = new ElementFilter(getProcessNamespace()) {
    @Override
    public boolean matches(Object obj) {
      boolean result = false;
      String elementName;
      if (super.matches(obj)) {
        elementName = ((Element) obj).getName();
        if (elementName.equals(CATCH_ELEMENT)
            || elementName.equals(CATCHALL_ELEMENT)) {
          result = true;
        }
      }
      return result;
    }
  };
  elementsOfBPEL = new ArrayList<Element>();
  for (Iterator<Element> iter = process.getDescendants(filter); iter
      .hasNext();) {
    elementsOfBPEL.add(iter.next());
  }
}

代码示例来源:origin: net.bpelunit/framework

/**
 * Gets the unmodified bpel process as xml element.
 * 
 * <br />All elements needed for instrumentating will be saved
 * 
 * @param unmodified bpel process
 */
public void setOriginalBPELProcess(Element process) {
  ElementFilter filter = new ElementFilter(process.getNamespace());
  elementsOfBPEL = new ArrayList<Element>();
  for (@SuppressWarnings("unchecked")
  Iterator<Element> iter = process.getDescendants(filter); iter
      .hasNext();) {
    Element basicActivity = iter.next();
    if (activitiesToRespect.contains(basicActivity.getName())) {
      elementsOfBPEL.add(basicActivity);
    }
  }    
}

代码示例来源:origin: net.bpelunit/framework

private List<Element> getCreateInstanceActivity(Element activity) {
  List<Element> list=new ArrayList<Element>();
  String name = activity.getName();
  if ((name.equals(StructuredActivities.PICK_ACTIVITY)
    || name.equals(BasicActivities.RECEIVE_ACTIVITY)) && canCreateInstance(activity)) {
    list.add(activity);
    return list;
  }
  if (isStructuredActivity(activity)) {
    Iterator<Element> iter = activity.getDescendants(new ContentFilter(ContentFilter.ELEMENT) {
      
      @Override
      public boolean matches(Object obj) {
        if (super.matches(obj)) {
          Element el = (Element) obj;
          if(canCreateInstance(el)) {
            return true;
          }
        }
        return false;
      }
    });
    while(iter.hasNext()) {
      list.add(iter.next());
    }
  }
  return list;
}

代码示例来源:origin: net.bpelunit/framework

/**
 * Erhält die noch nicht modifizierte Beschreibung des BPELProzesses als
 * XML-Element. Alle für die Instrumentierung benötigten Elemente der
 * Prozessbeschreibung werden gespeichert
 * 
 * @param process
 *            noch nicht modifiziertes BPEL-Prozess
 * @see net.bpelunit.framework.coverage.annotation.metrics.IMetric#setOriginalBPELProcess(org.jdom.Element)
 */
public void setOriginalBPELProcess(Element process) {
  Element nextElement;
  Iterator<Element> iter = process
      .getDescendants(new ElementFilter(process
          .getNamespace()));
  elementsOfBPEL = new ArrayList<Element>();
  while (iter.hasNext()) {
    nextElement = iter.next();
    if (isStructuredActivity(nextElement)) {
      elementsOfBPEL.add(nextElement);
    }
  }
}

代码示例来源:origin: org.codehaus.mevenide/grammar

private List collectPluginParams(Document pluginDoc, HintContext hintCtx) {
  Iterator it = pluginDoc.getRootElement().getDescendants(new Filter() {
    public boolean matches(Object object) {
      if (object instanceof Element) {
        Element el = (Element)object;
        if ("parameter".equals(el.getName()) && //NOI18N
            el.getParentElement() != null && "parameters".equals(el.getParentElement().getName()) && //NOI18N
            el.getParentElement().getParentElement() != null && "mojo".equals(el.getParentElement().getParentElement().getName())) { //NOI18N
          return true;
        }
      }
      return false;
    }
  });
  List toReturn = new ArrayList();
  Collection params = new HashSet();
  while (it.hasNext()) {
    Element el = (Element)it.next();
    String editable = el.getChildText("editable"); //NOI18N
    if ("true".equalsIgnoreCase(editable)) { //NOI18N
      String name = el.getChildText("name"); //NOI18N
      if (name.startsWith(hintCtx.getCurrentPrefix()) && !params.contains(name)) {
        params.add(name);
        toReturn.add(new MyElement(name));
      }
    }
  }
  return toReturn;
}

代码示例来源:origin: org.codehaus.mevenide/grammar

private Enumeration collectGoals(Document pluginDoc, HintContext virtualTextCtx) {
  Iterator it = pluginDoc.getRootElement().getDescendants(new Filter() {
    public boolean matches(Object object) {
      if (object instanceof Element) {
        Element el = (Element)object;
        if ("goal".equals(el.getName()) && //NOI18N
            el.getParentElement() != null && "mojo".equals(el.getParentElement().getName())) { //NOI18N
          return true;
        }
      }
      return false;
    }
  });
  Collection toReturn = new ArrayList();
  while (it.hasNext()) {
    Element el = (Element)it.next();
    String name = el.getText();
    if (name.startsWith(virtualTextCtx.getCurrentPrefix())) {
      toReturn.add(new MyTextElement(name, virtualTextCtx.getCurrentPrefix()));
    }
  }
  return Collections.enumeration(toReturn);
}

代码示例来源:origin: uk.org.mygrid.taverna.processors/taverna-wsdl-processor

/**
 * Updates the element namespace, and also iterates all descendant elements.
 * If these elements have no default namespace, or is blank then it is also
 * set to namespaceURI (JDOM by default will not set the child elements to
 * the same namespace as the element modified but will override them with
 * blank namespaces).
 * 
 * @param dataElement
 * @param namespaceURI
 */
private void updateElementNamespace(Element dataElement, String namespaceURI) {
  dataElement.setNamespace(Namespace.getNamespace(namespaceURI));
  Iterator iterator = dataElement.getDescendants();
  while (iterator.hasNext()) {
    Object descendantObject = iterator.next();
    if (descendantObject instanceof Element) {
      Element childElement = (Element) descendantObject;
      if (childElement.getNamespaceURI() == null
          || childElement.getNamespaceURI().length() == 0)
        childElement.setNamespace(Namespace
            .getNamespace(namespaceURI));
    }
  }
}

代码示例来源:origin: net.sf.taverna.cagrid/cagrid-wsdl-generic

/**
 * Updates the element namespace, and also iterates all descendant elements.
 * If these elements have no default namespace, or is blank then it is also
 * set to namespaceURI (JDOM by default will not set the child elements to
 * the same namespace as the element modified but will override them with
 * blank namespaces).
 * 
 * @param dataElement
 * @param namespaceURI
 */
private void updateElementNamespace(Element dataElement, String namespaceURI) {
  dataElement.setNamespace(Namespace.getNamespace(namespaceURI));
  Iterator<?> iterator = dataElement.getDescendants();
  while (iterator.hasNext()) {
    Object descendantObject = iterator.next();
    if (descendantObject instanceof Element) {
      Element childElement = (Element) descendantObject;
      if (childElement.getNamespaceURI() == null
          || childElement.getNamespaceURI().length() == 0)
        childElement.setNamespace(Namespace
            .getNamespace(namespaceURI));
    }
  }
}

相关文章

微信公众号

最新文章

更多