递归打印XML文档树-使用w3cDOM模型解析
来源:互联网 发布:js转html 编辑:程序博客网 时间:2024/06/03 06:06
如题,使用w3c xml parse api来把内存中的Document文档树对象打印到控制台
package xml;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Attr;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class TestXml {public static void main(String[] args) throws Exception {Class<TestXml> testXmlClazz = TestXml.class;InputStream is = testXmlClazz.getResourceAsStream("???.xml");DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document doc = db.parse(is);Element root = doc.getDocumentElement();parseElement(root);}private static void parseElement(Element ele) {System.out.print("<" + ele.getTagName());// 打印标签的属性NamedNodeMap attris = ele.getAttributes();for(int i = 0; i < attris.getLength(); i++) {Attr attr = (Attr) attris.item(i);System.out.print(" " + attr.getName() + "=\"" + attr.getValue() + "\"");}System.out.println(">");// 获取子标签NodeList childNodes = ele.getChildNodes();for (int i = 0; i < childNodes.getLength(); i++) {Node childNode = childNodes.item(i);if (childNode.getNodeType() == Node.ELEMENT_NODE) {// 递归处理子标签parseElement((Element) childNode);} else if (childNode.getNodeType() != Node.COMMENT_NODE) {System.out.println(childNode.getTextContent().trim());}}System.out.println("</" + ele.getTagName() + ">");}}
0 0
- 递归打印XML文档树-使用w3cDOM模型解析
- W3CDom操作XML文档实用工具类
- 使用DOM解析并打印XML文档
- 递归方式解析xml文档
- Android -使用DOM(文档对象模型)解析XML文件
- 递归实现DOM解析任何XML文档
- XML第十五讲:使用递归与DOM解析任意的XML文档
- ML的DOM解析 Java实现 使用递归解析一个XML文档
- 文档抽象模型xml,xml解析生成pdf,word文档
- XML DOM文档对象模型解析(转)
- Java根据文档对象模型解析XML
- 使用Delphi解析XML 文档
- 使用Dom4j解析XML文档
- 使用SAX解析xml文档
- 使用DOM解析XML文档
- 使用GDataXML解析XML文档
- 使用DOM解析XML文档
- 使用GDataXML解析XML文档
- HDU 1160
- intellij 13 建立maven项目实现struts2 框架
- LeetCode OJ ---- Reverse Integer
- 2016-03-08
- 面向对象基础(一)
- 递归打印XML文档树-使用w3cDOM模型解析
- 去掉UItableview headerview黏性(sticky)
- Unity+NGUI性能优化方法总结(我项目组的做法)
- [matlab]代码优化
- 值得推荐的android开源框架
- 3.memcached的基本命令
- 开博
- ViewController的生命周期
- 第二周项目1 求阶乘