javax.servlet.http.HttpUtils#org.w3c.dom.Node源码实例Demo

下面列出了javax.servlet.http.HttpUtils#org.w3c.dom.Node 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: JDKSourceCode1.8   文件: DTMManagerDefault.java
/**
 * Method createDocumentFragment
 *
 *
 * NEEDSDOC (createDocumentFragment) @return
 */
synchronized public DTM createDocumentFragment()
{

  try
  {
    DocumentBuilderFactory dbf = JdkXmlUtils.getDOMFactory(super.overrideDefaultParser());

    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.newDocument();
    Node df = doc.createDocumentFragment();

    return getDTM(new DOMSource(df), true, null, false, false);
  }
  catch (Exception e)
  {
    throw new DTMException(e);
  }
}
 
源代码2 项目: JDKSourceCode1.8   文件: SOFMarkerSegment.java
void updateFromNativeNode(Node node, boolean fromScratch)
    throws IIOInvalidTreeException {
    NamedNodeMap attrs = node.getAttributes();
    int value = getAttributeValue(node, attrs, "process", 0, 2, false);
    tag = (value != -1) ? value+JPEG.SOF0 : tag;
    // If samplePrecision is present, it must be 8.
    // This just checks.  We don't bother to assign the value.
    value = getAttributeValue(node, attrs, "samplePrecision", 8, 8, false);
    value = getAttributeValue(node, attrs, "numLines", 0, 65535, false);
    numLines = (value != -1) ? value : numLines;
    value = getAttributeValue(node, attrs, "samplesPerLine", 0, 65535, false);
    samplesPerLine = (value != -1) ? value : samplesPerLine;
    int numComponents = getAttributeValue(node, attrs, "numFrameComponents",
                                          1, 4, false);
    NodeList children = node.getChildNodes();
    if (children.getLength() != numComponents) {
        throw new IIOInvalidTreeException
            ("numFrameComponents must match number of children", node);
    }
    componentSpecs = new ComponentSpec [numComponents];
    for (int i = 0; i < numComponents; i++) {
        componentSpecs[i] = new ComponentSpec(children.item(i));
    }
}
 
源代码3 项目: jdk8u-jdk   文件: AbstractDOMSignatureMethod.java
/**
 * This method invokes the {@link #marshalParams marshalParams}
 * method to marshal any algorithm-specific parameters.
 */
public void marshal(Node parent, String dsPrefix, DOMCryptoContext context)
    throws MarshalException
{
    Document ownerDoc = DOMUtils.getOwnerDocument(parent);

    Element smElem = DOMUtils.createElement(ownerDoc, "SignatureMethod",
                                            XMLSignature.XMLNS, dsPrefix);
    DOMUtils.setAttribute(smElem, "Algorithm", getAlgorithm());

    if (getParameterSpec() != null) {
        marshalParams(smElem, dsPrefix);
    }

    parent.appendChild(smElem);
}
 
源代码4 项目: openjdk-jdk9   文件: ShortHistogramTest.java
private IIOMetadata upgradeMetadata(IIOMetadata src, BufferedImage bi) {
    String format = src.getNativeMetadataFormatName();
    System.out.println("Native format: " + format);
    Node root = src.getAsTree(format);

    // add hIST node
    Node n = lookupChildNode(root, "hIST");
    if (n == null) {
        System.out.println("Appending new hIST node...");
        Node hIST = gethISTNode(bi);
        root.appendChild(hIST);
    }

    System.out.println("Upgraded metadata tree:");
    dump(root, "");

    System.out.println("Merging metadata...");
    try {
        src.mergeTree(format, root);
    } catch (IIOInvalidTreeException e) {
        throw new RuntimeException("Test FAILED!", e);
    }
    return src;
}
 
源代码5 项目: archiva   文件: XMLReader.java
/**
 * Remove namespaces from element recursively.
 */
@SuppressWarnings("unchecked")
public void removeNamespaces( Node elem )
{
    if (elem.getNodeType() == Node.ELEMENT_NODE || elem.getNodeType() == Node.ATTRIBUTE_NODE) {
        document.renameNode(elem, null, elem.getLocalName());

        Node n;

        NodeList nodeList = elem.getChildNodes();


        for (int i = 0; i < nodeList.getLength(); i++) {
            n = nodeList.item(i);
            removeNamespaces(n);
        }
    }
}
 
源代码6 项目: karate   文件: Script.java
public static ScriptValue evalXmlPathOnXmlNode(Node doc, String path) {
    NodeList nodeList;
    try {
        nodeList = XmlUtils.getNodeListByPath(doc, path);
    } catch (Exception e) {
        // hack, this happens for xpath functions that don't return nodes (e.g. count)
        String strValue = XmlUtils.getTextValueByPath(doc, path);
        return new ScriptValue(strValue);
    }
    int count = nodeList.getLength();
    if (count == 0) { // xpath / node does not exist !
        return null;
    }
    if (count == 1) {
        return nodeToValue(nodeList.item(0));
    }
    List list = new ArrayList();
    for (int i = 0; i < count; i++) {
        ScriptValue sv = nodeToValue(nodeList.item(i));
        list.add(sv.getValue());
    }
    return new ScriptValue(list);
}
 
源代码7 项目: openjdk-jdk8u   文件: DomSerializer.java
public DomSerializer(DOMResult domResult) {
    Node node = domResult.getNode();

    if (node == null) {
        try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            dbf.setNamespaceAware(true);
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.newDocument();
            domResult.setNode(doc);
            serializer = new SaxSerializer(new Dom2SaxAdapter(doc),null,false);
        } catch (ParserConfigurationException pce) {
            throw new TxwException(pce);
        }
    } else {
        serializer = new SaxSerializer(new Dom2SaxAdapter(node),null,false);
    }
}
 
private void addIncludePatterns(Element element, ParserContext parserContext, BeanDefinition beanDef) {
	ManagedList<TypedStringValue> includePatterns = new ManagedList<>();
	NodeList childNodes = element.getChildNodes();
	for (int i = 0; i < childNodes.getLength(); i++) {
		Node node = childNodes.item(i);
		if (node instanceof Element) {
			Element includeElement = (Element) node;
			TypedStringValue valueHolder = new TypedStringValue(includeElement.getAttribute("name"));
			valueHolder.setSource(parserContext.extractSource(includeElement));
			includePatterns.add(valueHolder);
		}
	}
	if (!includePatterns.isEmpty()) {
		includePatterns.setSource(parserContext.extractSource(element));
		beanDef.getPropertyValues().add("includePatterns", includePatterns);
	}
}
 
源代码9 项目: jdk8u_jdk   文件: JPEGMetadata.java
/**
 * Merge the given DRI node into the marker sequence.
 * If there already exists a DRI marker segment, the restart interval
 * value is updated.
 * If there is no DRI segment, then a new one is created and added as
 * follows:
 * If there is an SOF segment, the new DRI segment is inserted before
 * it.
 * If there is no SOF segment, the new DRI segment is inserted before
 * the first SOS segment, if there is one.
 * If there is no SOS segment, the new DRI segment is added to the end
 * of the sequence.
 */
private void mergeDRINode(Node node) throws IIOInvalidTreeException {
    DRIMarkerSegment dri =
        (DRIMarkerSegment) findMarkerSegment(DRIMarkerSegment.class, true);
    if (dri != null) {
        dri.updateFromNativeNode(node, false);
    } else {
        DRIMarkerSegment newGuy = new DRIMarkerSegment(node);
        int firstSOF = findMarkerSegmentPosition(SOFMarkerSegment.class, true);
        int firstSOS = findMarkerSegmentPosition(SOSMarkerSegment.class, true);
        if (firstSOF != -1) {
            markerSequence.add(firstSOF, newGuy);
        } else if (firstSOS != -1) {
            markerSequence.add(firstSOS, newGuy);
        } else {
            markerSequence.add(newGuy);
        }
    }
}
 
源代码10 项目: hottub   文件: UnmarshallerImpl.java
public final Object unmarshal0( Node node, JaxBeanInfo expectedType ) throws JAXBException {
    try {
        final DOMScanner scanner = new DOMScanner();

        InterningXmlVisitor handler = new InterningXmlVisitor(createUnmarshallerHandler(null,false,expectedType));
        scanner.setContentHandler(new SAXConnector(handler,scanner));

        if(node.getNodeType() == Node.ELEMENT_NODE) {
            scanner.scan((Element)node);
        } else if(node.getNodeType() == Node.DOCUMENT_NODE) {
            scanner.scan((Document)node);
        } else {
            throw new IllegalArgumentException("Unexpected node type: "+node);
        }

        Object retVal = handler.getContext().getResult();
        handler.getContext().clearResult();
        return retVal;
    } catch( SAXException e ) {
        throw createUnmarshalException(e);
    }
}
 
源代码11 项目: jdk8u60   文件: DOMScanner.java
private void visit( Node n ) throws SAXException {
    setCurrentLocation( n );

    // if a case statement gets too big, it should be made into a separate method.
    switch(n.getNodeType()) {
    case Node.CDATA_SECTION_NODE:
    case Node.TEXT_NODE:
        String value = n.getNodeValue();
        receiver.characters( value.toCharArray(), 0, value.length() );
        break;
    case Node.ELEMENT_NODE:
        visit( (Element)n );
        break;
    case Node.ENTITY_REFERENCE_NODE:
        receiver.skippedEntity(n.getNodeName());
        break;
    case Node.PROCESSING_INSTRUCTION_NODE:
        ProcessingInstruction pi = (ProcessingInstruction)n;
        receiver.processingInstruction(pi.getTarget(),pi.getData());
        break;
    }
}
 
源代码12 项目: groovy   文件: XmlExtensions.java
/**
 * Makes NodeList iterable by returning a read-only Iterator which traverses
 * over each Node.
 *
 * @param nodeList a NodeList
 * @return an Iterator for a NodeList
 * @since 1.0
 */
public static Iterator<Node> iterator(final NodeList nodeList) {
    return new Iterator<Node>() {
        private int current /* = 0 */;

        public boolean hasNext() {
            return current < nodeList.getLength();
        }

        public Node next() {
            return nodeList.item(current++);
        }

        public void remove() {
            throw new UnsupportedOperationException("Cannot remove() from a NodeList iterator");
        }
    };
}
 
源代码13 项目: openjdk-8   文件: DOMBuilder.java
/**
 * Receive notification of character data.
 *
 * <p>The Parser will call this method to report each chunk of
 * character data.  SAX parsers may return all contiguous character
 * data in a single chunk, or they may split it into several
 * chunks; however, all of the characters in any single event
 * must come from the same external entity, so that the Locator
 * provides useful information.</p>
 *
 * <p>The application must not attempt to read from the array
 * outside of the specified range.</p>
 *
 * <p>Note that some parsers will report whitespace using the
 * ignorableWhitespace() method rather than this one (validating
 * parsers must do so).</p>
 *
 * @param ch The characters from the XML document.
 * @param start The start position in the array.
 * @param length The number of characters to read from the array.
 * @see #ignorableWhitespace
 * @see org.xml.sax.Locator
 */
public void characters(char ch[], int start, int length) throws org.xml.sax.SAXException
{
  if(isOutsideDocElem()
     && com.sun.org.apache.xml.internal.utils.XMLCharacterRecognizer.isWhiteSpace(ch, start, length))
    return;  // avoid DOM006 Hierarchy request error

  if (m_inCData)
  {
    cdata(ch, start, length);

    return;
  }

  String s = new String(ch, start, length);
  Node childNode;
  childNode =  m_currentNode != null ? m_currentNode.getLastChild(): null;
  if( childNode != null && childNode.getNodeType() == Node.TEXT_NODE ){
     ((Text)childNode).appendData(s);
  }
  else{
     Text text = m_doc.createTextNode(s);
     append(text);
  }
}
 
源代码14 项目: openjdk-jdk8u   文件: DOMKeyValue.java
public void marshal(Node parent, String dsPrefix, DOMCryptoContext context)
    throws MarshalException
{
    Document ownerDoc = DOMUtils.getOwnerDocument(parent);

    // create KeyValue element
    Element kvElem = DOMUtils.createElement(ownerDoc, "KeyValue",
                                            XMLSignature.XMLNS, dsPrefix);
    marshalPublicKey(kvElem, ownerDoc, dsPrefix, context);

    parent.appendChild(kvElem);
}
 
源代码15 项目: jdk8u-jdk   文件: DOMSubTreeData.java
/**
 * Dereferences a same-document URI fragment.
 *
 * @param node the node (document or element) referenced by the
 *        URI fragment. If null, returns an empty set.
 * @return a set of nodes (minus any comment nodes)
 */
private List<Node> dereferenceSameDocumentURI(Node node) {
    List<Node> nodeSet = new ArrayList<Node>();
    if (node != null) {
        nodeSetMinusCommentNodes(node, nodeSet, null);
    }
    return nodeSet;
}
 
源代码16 项目: biweekly   文件: XCalWriterTest.java
@Test
public void write_existing_dom_element() throws Exception {
	Document document = XmlUtils.toDocument("<root><a /><b /></root>");
	Node element = document.getFirstChild().getFirstChild();
	XCalWriter writer = new XCalWriter(element);

	ical.setProductId("value");
	writer.write(ical);

	writer.close();

	//@formatter:off
	String xml =
	"<root>" +
		"<a>" +
			"<icalendar xmlns=\"" + XCAL_NS + "\">" +
				"<vcalendar>" +
					"<properties>" +
						"<version><text>2.0</text></version>" +
						"<prodid><text>value</text></prodid>" +
					"</properties>" +
				"</vcalendar>" +
			"</icalendar>" +
		"</a>" +
		"<b />" +
	"</root>";
	Document expected = XmlUtils.toDocument(xml);
	//@formatter:on

	assertXMLEqual(expected, document);
}
 
源代码17 项目: freehealth-connector   文件: SessionUtil.java
public static Map<String, List<String>> getMatchingAttributes(String attributeNamePattern) throws TechnicalConnectorException {
   SessionManager sessionMgr = Session.getInstance();
   if (!sessionMgr.hasValidSession()) {
      throw new TechnicalConnectorException(TechnicalConnectorExceptionValues.NO_VALID_SESSION, new Object[0]);
   } else {
      Element token = sessionMgr.getSession().getSAMLToken().getAssertion();
      NodeList attributes = extractAttributes(token);
      Map<String, List<String>> result = new HashMap();
      if (attributes != null) {
         for(int i = 0; i < attributes.getLength(); ++i) {
            Node node = attributes.item(i);
            String attributeName = node.getAttributes().getNamedItem("AttributeName").getTextContent();
            if (attributeName.matches(attributeNamePattern)) {
               if (!node.hasChildNodes()) {
                  result.put(attributeName, Arrays.asList(node.getTextContent().trim()));
               } else {
                  NodeList attributeValueNodeList = node.getChildNodes();
                  List<String> values = new ArrayList();

                  for(int index = 0; index < attributeValueNodeList.getLength(); ++index) {
                     values.add(attributeValueNodeList.item(index).getTextContent().trim());
                  }

                  result.put(attributeName, values);
               }
            }
         }
      }

      return result;
   }
}
 
@Test
public void evaluateTimeZone_Default() throws Exception {
    // given
    Node priceModelNode = getPriceModelNode(PRICEMODEL);

    // when
    int timeZoneOffset = billingResultParser
            .readTimeZoneFromBillingDetails(priceModelNode);

    // then
    assertEquals("Server Timezone expected", Calendar.getInstance()
            .getTimeZone().getRawOffset(), timeZoneOffset);
}
 
源代码19 项目: epcis   文件: PollParameters.java
private List<String> getListOfString(Element element) {
	List<String> los = new ArrayList<String>();

	NodeList nodeList = element.getChildNodes();
	for (int i = 0; i < nodeList.getLength(); i++) {
		Node node = nodeList.item(i);
		if (node.getNodeName().equals("string")) {
			los.add(node.getTextContent());
		}
	}
	return los;
}
 
源代码20 项目: oodt   文件: ByteArrayCodec.java
public Object decode(Node node) {
	String encodedValue;
	if (node.getFirstChild() != null && node.getFirstChild().getNodeType() == Node.CDATA_SECTION_NODE) {
	  encodedValue = node.getFirstChild().getNodeValue();
	} else {
	  encodedValue = XML.text(node);
	}
	if (encodedValue.length() <= 0) {
	  return new byte[0];
	}
	return Base64.decode(encodedValue.getBytes());
}
 
源代码21 项目: Bytecoder   文件: XSDocumentInfo.java
/**
 * Initialize namespace support by collecting all of the namespace
 * declarations in the root's ancestors. This is necessary to
 * support schemas fragments, i.e. schemas embedded in other
 * documents. See,
 *
 * https://jaxp.dev.java.net/issues/show_bug.cgi?id=43
 *
 * Requires the DOM to be created with namespace support enabled.
 */
private void initNamespaceSupport(Element schemaRoot) {
    fNamespaceSupport = new SchemaNamespaceSupport();
    fNamespaceSupport.reset();

    Node parent = schemaRoot.getParentNode();
    while (parent != null && parent.getNodeType() == Node.ELEMENT_NODE
            && !parent.getNodeName().equals("DOCUMENT_NODE"))
    {
        Element eparent = (Element) parent;
        NamedNodeMap map = eparent.getAttributes();
        int length = (map != null) ? map.getLength() : 0;
        for (int i = 0; i < length; i++) {
            Attr attr = (Attr) map.item(i);
            String uri = attr.getNamespaceURI();

            // Check if attribute is an ns decl -- requires ns support
            if (uri != null && uri.equals("http://www.w3.org/2000/xmlns/")) {
                String prefix = attr.getLocalName().intern();
                if (prefix == "xmlns") prefix = "";
                // Declare prefix if not set -- moving upwards
                if (fNamespaceSupport.getURI(prefix) == null) {
                    fNamespaceSupport.declarePrefix(prefix,
                            attr.getValue().intern());
                }
            }
        }
        parent = parent.getParentNode();
    }
}
 
源代码22 项目: TencentKona-8   文件: TextImpl.java
public TextImpl(StringBuffer str, SchemaDOM sDOM, int row, int col) {
    fData = str.toString();
    fSchemaDOM = sDOM;
    fRow = row;
    fCol = col;
    rawname = prefix = localpart = uri = null;
    nodeType = Node.TEXT_NODE;
}
 
源代码23 项目: oopsla15-artifact   文件: XMLWriter.java
private Node yieldTree(INode value,  Document doc) {
	Element treeNode = doc.createElement(value.getName());
	
	for (IValue child : value) {
		if (child.getType().isTuple()) {
			appendTupleElements(doc, treeNode, child);
		}
		else {
		  treeNode.appendChild(yield(child, doc));
		}
	}
	
	return treeNode;
}
 
源代码24 项目: AndroidRipper   文件: XMLRipperInput.java
public ArrayList<ActivityDescription> loadActivityDescriptionList(InputStream is) {
	ArrayList<ActivityDescription> ret = new ArrayList<ActivityDescription>();
	
	NodeList nList = null;
	try {

		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
		Document doc = dBuilder.parse(is);

		doc.getDocumentElement().normalize();

		nList = doc.getElementsByTagName(ACTIVITY);
		
		for (int i = 0; i < nList.getLength(); i++) {

			Node nNode = nList.item(i);

			if (nNode.getNodeType() == Node.ELEMENT_NODE) {
				Element eElement = (Element) nNode;
				ActivityDescription ad = this.inputActivityDescription(eElement);
				ret.add(ad);
			}
		}

	} catch (Exception e) {
		e.printStackTrace();
		//System.out.println(e.getMessage());
	}
	
	return ret;
}
 
源代码25 项目: hop   文件: MySQLBulkLoaderTest.java
@Test
public void testFieldFormatType() throws HopXmlException {
  MySQLBulkLoaderMeta lm = new MySQLBulkLoaderMeta();
  Document document = XmlHandler.loadXmlFile( this.getClass().getResourceAsStream( "transform.xml" ) );
  IHopMetadataProvider metadataProvider = null;
  Node transformNode = (Node) document.getDocumentElement();
  lm.loadXml( transformNode, metadataProvider );
  int[] codes = lm.getFieldFormatType();
  assertEquals( 3, codes[ 0 ] );
  assertEquals( 4, codes[ 1 ] );
}
 
源代码26 项目: openjdk-jdk9   文件: DOM2TO.java
private String getNodeTypeFromCode(short code) {
    String retval = null;
    switch (code) {
    case Node.ATTRIBUTE_NODE :
        retval = "ATTRIBUTE_NODE"; break;
    case Node.CDATA_SECTION_NODE :
        retval = "CDATA_SECTION_NODE"; break;
    case Node.COMMENT_NODE :
        retval = "COMMENT_NODE"; break;
    case Node.DOCUMENT_FRAGMENT_NODE :
        retval = "DOCUMENT_FRAGMENT_NODE"; break;
    case Node.DOCUMENT_NODE :
        retval = "DOCUMENT_NODE"; break;
    case Node.DOCUMENT_TYPE_NODE :
        retval = "DOCUMENT_TYPE_NODE"; break;
    case Node.ELEMENT_NODE :
        retval = "ELEMENT_NODE"; break;
    case Node.ENTITY_NODE :
        retval = "ENTITY_NODE"; break;
    case Node.ENTITY_REFERENCE_NODE :
        retval = "ENTITY_REFERENCE_NODE"; break;
    case Node.NOTATION_NODE :
        retval = "NOTATION_NODE"; break;
    case Node.PROCESSING_INSTRUCTION_NODE :
        retval = "PROCESSING_INSTRUCTION_NODE"; break;
    case Node.TEXT_NODE:
        retval = "TEXT_NODE"; break;
    }
    return retval;
}
 
源代码27 项目: blog_demos   文件: BeanDefinitionParserDelegate.java
/**
 * Parse a qualifier element.
 */
public void parseQualifierElement(Element ele, AbstractBeanDefinition bd) {
	String typeName = ele.getAttribute(TYPE_ATTRIBUTE);
	if (!StringUtils.hasLength(typeName)) {
		error("Tag 'qualifier' must have a 'type' attribute", ele);
		return;
	}
	this.parseState.push(new QualifierEntry(typeName));
	try {
		AutowireCandidateQualifier qualifier = new AutowireCandidateQualifier(typeName);
		qualifier.setSource(extractSource(ele));
		String value = ele.getAttribute(VALUE_ATTRIBUTE);
		if (StringUtils.hasLength(value)) {
			qualifier.setAttribute(AutowireCandidateQualifier.VALUE_KEY, value);
		}
		NodeList nl = ele.getChildNodes();
		for (int i = 0; i < nl.getLength(); i++) {
			Node node = nl.item(i);
			if (isCandidateElement(node) && nodeNameEquals(node, QUALIFIER_ATTRIBUTE_ELEMENT)) {
				Element attributeEle = (Element) node;
				String attributeName = attributeEle.getAttribute(KEY_ATTRIBUTE);
				String attributeValue = attributeEle.getAttribute(VALUE_ATTRIBUTE);
				if (StringUtils.hasLength(attributeName) && StringUtils.hasLength(attributeValue)) {
					BeanMetadataAttribute attribute = new BeanMetadataAttribute(attributeName, attributeValue);
					attribute.setSource(extractSource(attributeEle));
					qualifier.addMetadataAttribute(attribute);
				}
				else {
					error("Qualifier 'attribute' tag must have a 'name' and 'value'", attributeEle);
					return;
				}
			}
		}
		bd.addQualifier(qualifier);
	}
	finally {
		this.parseState.pop();
	}
}
 
源代码28 项目: openjdk-jdk9   文件: TIFFBaseJPEGCompressor.java
private static List<Node> getAllNodes(IIOMetadataNode root, List<Node> nodes) {
    if(nodes == null) nodes = new ArrayList<Node>();

    if(root.hasChildNodes()) {
        Node sibling = root.getFirstChild();
        while(sibling != null) {
            nodes.add(sibling);
            nodes = getAllNodes((IIOMetadataNode)sibling, nodes);
            sibling = sibling.getNextSibling();
        }
    }

    return nodes;
}
 
源代码29 项目: j-road   文件: XteeSchemaCodePrinter.java
private String findXteeTitle(SchemaProperty prop) throws IOException {
  String xteeTitle = null;
  try {
    String localPart = prop.getName().getLocalPart();
    Node propNode = ((SchemaTypeImpl) prop.getContainerType()).getParseObject().getDomNode();
    Node node = propNode;

    if (StringUtils.equals(localPart, "item") || StringUtils.equals(localPart, "all")) {
      while (true) {
        if (StringUtils.equals(node.getLocalName(), "element")) {
          localPart = node.getAttributes().getNamedItem("name").getNodeValue();
          break;
        }
        node = node.getParentNode();
        if (node == null) {
          node = findFirstNode(propNode.getChildNodes(), "element", localPart);
          break;
        }
      }
    } else {
      node = findFirstNode(node.getChildNodes(), "element", localPart);
    }
    if (node != null) {
      xteeTitle = clearString(getXmlObjectValue(findFirstNode(node.getChildNodes(), "title", null, false)));
      if (xteeTitle == null) {
        xteeTitle = StringUtils.capitalize(node.getAttributes().getNamedItem("name").getNodeValue());
      }
    }
  } catch (Exception e) {
    throw new IOException(e);
  }

  return xteeTitle;
}
 
源代码30 项目: pentaho-kettle   文件: ZipFileMetaTest.java
private Node getTestNode() throws KettleXMLException {
  String xml = "<step>" + Const.CR
    + "<name>Zip file</name>" + Const.CR
    + "<type>ZipFile</type>" + Const.CR
    + "<description/>" + Const.CR
    + "<distribute>Y</distribute>" + Const.CR
    + "<custom_distribution/>" + Const.CR
    + "<copies>1</copies>" + Const.CR
    + "<partitioning>" + Const.CR
    + "  <method>none</method>" + Const.CR
    + "  <schema_name/>" + Const.CR
    + "</partitioning>" + Const.CR
    + "<sourcefilenamefield>Files</sourcefilenamefield>" + Const.CR
    + "<targetfilenamefield>ZipFile</targetfilenamefield>" + Const.CR
    + "<baseFolderField>BaseFolder</baseFolderField>" + Const.CR
    + "<operation_type>move</operation_type>" + Const.CR
    + "<addresultfilenames>Y</addresultfilenames>" + Const.CR
    + "<overwritezipentry>Y</overwritezipentry>" + Const.CR
    + "<createparentfolder>Y</createparentfolder>" + Const.CR
    + "<keepsourcefolder>Y</keepsourcefolder>" + Const.CR
    + "<movetofolderfield/>" + Const.CR
    + "<cluster_schema/>" + Const.CR
    + "<remotesteps>" + Const.CR
    + "  <input></input>" + Const.CR
    + "  <output></output>" + Const.CR
    + "</remotesteps>" + Const.CR
    + "<GUI>" + Const.CR
    + "  <xloc>608</xloc>" + Const.CR
    + "  <yloc>48</yloc>" + Const.CR
    + "  <draw>Y</draw>" + Const.CR
    + "</GUI>" + Const.CR
    + "</step>" + Const.CR;
  return XMLHandler.loadXMLString( xml, "step" );
}