WEB开发网
开发学院软件开发Java Java 中的 XML: Java 文档模型的用法 阅读

Java 中的 XML: Java 文档模型的用法

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: Electric XML清单 8 中 Electric XML(EXML)的顶级代码是任何这些示例中最简单的一个,通过单一方法调用就可以读取和编写文档,Java 中的 XML: Java 文档模型的用法(9),清单 8. EXML 顶级代码1//parsethedocumentfrominput

Electric XML

清单 8 中 Electric XML(EXML)的顶级代码是任何这些示例中最简单的一个,通过单一方法调用就可以读取和编写文档。


清单 8. EXML 顶级代码
 1 // parse the document from input stream 
 2 Document doc = new Document(in); 
 3 // recursively walk and modify document 
 4 modifyElement(doc.getRoot()); 
 5 // write the document to output stream 
 6 doc.write(out); 

清单 9 中 EXML modify 方法尽管与 JDOM 一样,需要使用 instanceof 检查,但它与 DOM 方法最相似。在 EXML 中,无法创建一个带名称空间限定的名称的元素,所以取而代之,我创建新元素,然后设置其名称来达到相同的效果。


清单 9. EXML modify 方法
 1 protected void modifyElement(Element element) { 
 2  // loop through child nodes 
 3  Child child; 
 4  Child next = element.getChildren().first(); 
 5  while ((child = next) != null) { 
 6   // set next before we change anything 
 7   next = child.getNextSibling(); 
 8   // handle child by node type 
 9   if (child instanceof Text) { 
10    // trim whitespace from content text 
11    String trimmed = ((Text)child).getString().trim(); 
12    if (trimmed.length() == 0) { 
13     // delete child if only whitespace 
14     child.remove(); 
15    } else { 
16     // wrap the trimmed content with new element 
17     Element text = new Element(); 
18     text.addText(trimmed); 
19     child.replaceWith(text); 
20     text.setName(element.getPrefix(), "text"); 
21    } 
22   } else if (child instanceof Element) { 
23    // handle child elements with recursive call 
24    modifyElement((Element)child); 
25   } 
26  } 
27 } 

上一页  4 5 6 7 8 9 10  下一页

Tags:Java XML Java

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