快速业务通道

Java中文档对象模型DOM使用经验 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
;  } } /** * 给定一个输入流,解析为一个org.w3c.dom.Document对象返回。 * @param input * @return a org.w3c.dom.Document */ public static Document parseXMLDocument(InputStream input) {  if (input == null) {   throw new IllegalArgumentException("参数为null!");  }  try {   return newDocumentBuilder().parse(input);  } catch (Exception e) {   throw new RuntimeException(e.getMessage());  } } /** * 给定一个文件名,获取该文件并解析为一个org.w3c.dom.Document对象返回。 * @param fileName 待解析文件的文件名 * @return a org.w3c.dom.Document */ public static Document loadXMLDocumentFromFile(String fileName) {  if (fileName == null) {   throw new IllegalArgumentException("未指定文件名及其物理路径!");  }  try {   return newDocumentBuilder().parse(new File(fileName));  } catch (SAXException e) {   throw new IllegalArgumentException("目标文件(" + fileName + ")不能被正确解析为XML!\n" + e.getMessage());  } catch (IOException e) {   throw new IllegalArgumentException("不能获取目标文件(" + fileName + ")!\n" + e.getMessage());  } catch (ParserConfigurationException e) {   throw new RuntimeException(e.getMessage());  } } /** * 给定一个节点,将该节点加入新构造的Document中。 * @param node a Document node * @return a new Document */ public static Document newXMLDocument(Node node) {  Document doc = newXMLDocument();  doc.appendChild(doc.importNode(node, true));  return doc; } /** * 将传入的一个DOM Node对象输出成字符串。如果失败则返回一个空字符串""。 * @param node DOM Node 对象。 * @return a XML String from node */ public static String toString(Node node) {  if (node == null) {   throw new IllegalArgumentException();  }  Transformer transformer = newTransformer();  if (transformer != null) {   try {    StringWriter sw = new StringWriter();    transformer.transform(new DOMSource(node),     new StreamResult(sw));     return sw.toString();   } catch (TransformerException te) {    throw new RuntimeException(te.getMessage());   }  }  return errXMLString("不能生成XML信息!"); } /** * 将传入的一个DOM Node对象输出成字符串。如果失败则返回一个空字符串""。 * @param node DOM Node 对象。 * @return a XML String from node */ public static String toString(Node node) {  if (node == null) {   throw new IllegalArgumentException();  }  Transformer transformer = newTransformer();  if (transformer != null) {   try {    StringWriter sw = new StringWriter();    transformer.transform(new DOMSource(node),new StreamResult(sw));    return sw.toString();   } catch (TransformerException te) {     throw new RuntimeException(te.getMessage());   }  }  return errXMLString("不能生成XML信息!"); } /** * 获取一个Transformer对象,由于使用时都做相同的初始化,所以提取出来作为公共方法。 * @return a Transformer encoding gb2312 */ public static Transformer newTransformer() {  try {   Transformer transformer =TransformerF

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号