WEB开发网
开发学院软件开发Java 实战 Groovy: 构建和解析 XML 阅读

实战 Groovy: 构建和解析 XML

 2009-11-18 00:00:00 来源:WEB开发网   
核心提示: 注意,三重引号可以轻松地处理多行 XML 文档,实战 Groovy: 构建和解析 XML(3),xml 变量是一个真正的普通旧式(plain-old)java.lang.String — 您可以添加 println xml.class 自己进行验证,三重引号还可以处理 type=&q

注意,三重引号可以轻松地处理多行 XML 文档。xml 变量是一个真正的普通旧式(plain-old)java.lang.String — 您可以添加 println xml.class 自己进行验证。三重引号还可以处理 type="current" 的内部引号,而不会强制您像在 Java 代码中那样使用反斜杠字符手动进行转义。

比较清单 4 中简洁的 Groovy 代码与清单 5 中相应的 Java 代码:


清单 5. 在 Java 代码内部存储 XML
import org.xml.sax.SAXException; 
import org.w3c.dom.*; 
import javax.xml.parsers.*; 
import java.io.*; 
 
public class ParseXmlFromString { 
 public static void main(String[] args) { 
  String xml = "<langs type=\"current\">\n" + 
      " <language>Java</language>\n" + 
      " <language>Groovy</language>\n" + 
      " <language>JavaScript</language>\n" + 
      "</langs>"; 
 
  byte[] xmlBytes = xml.getBytes(); 
  InputStream is = new ByteArrayInputStream(xmlBytes); 
 
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
  try { 
   DocumentBuilder db = dbf.newDocumentBuilder(); 
   Document doc = db.parse(is); 
 
   //print the "type" attribute 
   Element langs = doc.getDocumentElement(); 
   System.out.println("type = " + langs.getAttribute("type")); 
 
   //print the "language" elements 
   NodeList list = langs.getElementsByTagName("language"); 
   for(int i = 0 ; i < list.getLength();i++) { 
    Element language = (Element) list.item(i); 
    System.out.println(language.getTextContent()); 
   } 
  }catch(ParserConfigurationException pce) { 
   pce.printStackTrace(); 
  }catch(SAXException se) { 
   se.printStackTrace(); 
  }catch(IOException ioe) { 
   ioe.printStackTrace(); 
  } 
 } 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:实战 Groovy 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接