第6章_DOM解析器3.pptVIP

  • 2
  • 0
  • 约1.68万字
  • 约 44页
  • 2016-12-03 发布于重庆
  • 举报
第6章_DOM解析器3

* 使用递归解析DOM树 public void aaa(NodeList n){ for(int i=0;in.getLength();i++){ Node node=n.item(i); if(node.hasChildNodes()){ NodeList m=node.getChildNodes(); System.out.println(node.getNodeName()); this.aaa(m); }else{ if(!node.getNodeValue().trim().equals()){ System.out.println(值: + node.getNodeValue().trim()); } } } } 使用递归解析DOM树的主要思想是对节点进行递归,判断是否有子节点。如果有就打印出元素名,然后继续判断。反之就是字符数据,将其打印出来。如下: 调用函数自身 * 建立和更新XML文档 人工建立DOM树 import javax.xml.parsers.*; import org.w3c.dom.*; import org.apache.crimson.tree.XmlDocument; public class JianXML1{ public static void main(String args[ ])throws Exception{ DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance(); DocumentBuilder db=factory.newDocumentBuilder(); Document doc=db.newDocument(); //添加根元素 Element root=doc.createElement(person); doc.appendChild(root); //添加元素“student”为“person”的子元素 Element e_student=doc.createElement(student); root.appendChild(e_student); //为元素“student”添加属性 Attr a=doc.createAttribute(bianhao); a.setNodeValue(A001); * e_student.setAttributeNode(a); Element e_name=doc.createElement(name); e_student.appendChild(e_name); //为元素“name”添加字符数据信息 Text t=doc.createTextNode(zhangsan); e_name.appendChild(t); //调用XmlDocument类的write()方法 XmlDocument xmldoc=(XmlDocument)doc; xmldoc.write(System.out); } } 运行效果图 * 使用XmlDocument类更新文档 XmlDocument是org.apache.crimson.tree包中的一个类,并不包含于标准的JAXP中。在我们使用该类时必须要加载相应的类库到JDK中。 使用XmlDocument类主要是应用该类的write()方法,有如下三种形式: public void write (Writer out, String encoding) public void write (OutputStream out) public void write (Writer out) XmlDocument xmldom=(XmlDocument)doc; xmldom.write(new FileOutputStream(new File(Xmldom.xml))); 使用write()方法将DOM树保存为文件的形式 ,如下: doc是一个Document对象实例(强制类型转换) * 从因特网上获取天气数据示例 public static Document getDocument(DocumentBuilder db, String urlString){ try{ URL url=new URL(urlString); URLConnection URLconnection=url.openConnection(); HttpURLConnection httpC

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档