All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kaltura.client.utils.XmlUtils Maven / Gradle / Ivy

Go to download

KalturaClient is a library of Java classes that can be used to interact with the Kaltura REST API. More information about the REST API can be found at http://corp.kaltura.com/Products/Kaltura-API Many of the Java classes in this library are auto-generated from a schema that defines the objects that are used to interect with the API. The current schema can be found at http://www.kaltura.com/api_v3/api_schema.php

The newest version!
// ===================================================================================================
//                           _  __     _ _
//                          | |/ /__ _| | |_ _  _ _ _ __ _
//                          | ' .
//
// @ignore
// ===================================================================================================
package com.kaltura.client.utils;

import java.io.CharArrayReader;
import java.io.IOException;
import java.io.Reader;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

import com.kaltura.client.KalturaApiException;

public class XmlUtils {
	public static Element parseXml(String xml) throws KalturaApiException {
		//get the factory
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

		try {

			//Using factory get an instance of document builder
			DocumentBuilder db = dbf.newDocumentBuilder();

			//parse using builder to get DOM representation of the XML file
			//Document dom = db.parse(new ByteArrayInputStream(xml.getBytes()));
			Reader reader= new CharArrayReader(xml.toCharArray());
			Document dom = db.parse(new org.xml.sax.InputSource(reader)); 

			Element docEle = dom.getDocumentElement();
			
			return docEle;
			
		} catch(ParserConfigurationException pce) {
			throw new KalturaApiException("Failed building XML parser");
		} catch(SAXException se) {
			throw new KalturaApiException("Failed while parsing response.");
		} catch(IOException ioe) {
			throw new KalturaApiException("I/O exception while reading response");
		}
	}
		
	public static boolean hasChildren (Element e) {
		if (e == null) return false;
		return e.getFirstChild() != null;
	}

	public static Element getElementByXPath(Element e, String xPathExpression) throws XPathExpressionException {
    	XPathFactory factory=XPathFactory.newInstance();
        XPath xPath=factory.newXPath();
                
        return (Element)(xPath.evaluate(xPathExpression, e, XPathConstants.NODE));
        		
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy