import java.io.InputStream;

来源:互联网 发布:ubuntu linux网卡配置 编辑:程序博客网 时间:2024/05/06 06:37

import java.io.InputStream;

  import java.net.URL;

  import java.net.URLConnection;

  import javax.xml.transform.TransformerException;

  import org.apache.log4j.Logger;

  import org.w3c.dom.Attr;

  import org.w3c.dom.Document;

  import org.w3c.dom.Element;

  import org.w3c.dom.Node;

  import org.w3c.dom.NodeList;

  import com.sun.org.apache.xpath.internal.XPathAPI;

  /**

  * 处理XML的封装类

  */

  public abstract class XmlHelper {

  private XmlHelper() {

  }

  private static SimpleXmlParser parser = new SimpleXmlParser();

  private static Logger logger = Logger.getLogger(XmlHelper.class.getName());

  public static Document getDocument(String xmlStr) throws Exception {

  try {

  return parser.parseXml(xmlStr);

  } catch (Exception ex) {

  logger.error("得到Document出错-->", ex);

  throw ex;

  }

  }

  public static Document getDocumentFormStream(InputStream s)

  throws Exception {

  try {

  Document doc = parser.parse(s);

  return doc;

  } catch (Exception ex) {

  logger.error("从文件流中得到Document出现错误,错误为-->", ex);

  throw ex;

  }

  }

  public static Document getDocumentFormFile(String url) {

  try {

  URL u = new URL(url);

  URLConnection connection = u.openConnection();

  connection.setDoInput(true);

  connection.setUseCaches(false);

  Document doc = parser.parse(url);

  connection.getInputStream()。close();

  return doc;

  } catch (Exception ex) {

  logger.info("从url中取得数据出错,错误为-->", ex);

  }

  return null;

  }

  public static NodeList selectNodeList(Node node, String xpath)

  throws TransformerException {

  try {

  return XPathAPI.selectNodeList(node, xpath);

  } catch (TransformerException ex) {

  logger.error("得到xml节点队列出错-->", ex);

  throw ex;

  }

  }

  public static Node selectSingleNode(Node node, String xpath)

  throws TransformerException {

  try {

  return XPathAPI.selectSingleNode(node, xpath);

  } catch (TransformerException ex) {

  logger.error("得到单一的xml节点出错-->", ex);

  throw ex;

  }

  }

  public static Node selectNode(Node node, String xpath) {

  for (int i = 0; i < node.getChildNodes()。getLength(); i++) {

  Node childNode = node.getChildNodes()。item(i);

  if (childNode.getNodeType() == Node.ELEMENT_NODE

  && childNode.getNodeName()。equals(xpath))

  return childNode;

  }

  return null;

  }

0 0
原创粉丝点击