首页 >> 大全

Dom解析XML文档

2023-11-28 大全 28 作者:考证青年


Tony Blair
10 Downing Street, London, UK
(061) 98765(061) 98765blair@everywhere.com
Bill Clinton
White House, USA
(001) 6400 98765(001) 6400 98765bill@everywhere.com
Tom Cruise
57 Jumbo Street, New York, USA
(001) 4500 67859(001) 4500 67859cruise@everywhere.com
Linda Goodman
78 Crax Lane, London, UK
(061) 54 56789(061) 54 56789linda@everywhere.com

package cn.sisy.xml;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;public class DomTest01 {public static void main(String[] args) throws Exception {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document document = db.parse("candidate.xml");//知道文档大概结构:PERSONNodeList list = document.getElementsByTagName("PERSON");for(int i = 0 ; i

属性值:E01---节点类型:3---节点名称:#text---节点值:Tony Blair

属性值:E02---节点类型:3---节点名称:#text---节点值:Bill

属性值:E03---节点类型:3---节点名称:#text---节点值:Tom

属性值:E04---节点类型:3---节点名称:#text---节点值:Linda

package cn.sisy.xml;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;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 DomTest02 {public static void main(String[] args) throws Exception {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document document = db.parse("student.xml");//getDocumentElement()访问文档的或文档元素的子结点//文档的子结点就是文档的根元素结点,适用于不知道文档结构Element root = document.getDocumentElement();System.out.println("根元素:"+root.getTagName());//获取根元素结点的所有子结点NodeList list = root.getChildNodes();for(int i = 0; i < list.getLength(); i++){//元素与子元素,元素与元素之间的空白也被当做了一个结点System.out.print(list.item(i).getNodeName());}//getTextContent():返回此节点及其后代的文本内容。
//		for(int i = 0; i < list.getLength(); i++){
//			Node n = list.item(i);			
//			System.out.print(n.getTextContent()+"--");
//		}System.out.println();NodeList nodeList = document.getElementsByTagName("学生");		for(int i = 0; i < nodeList.getLength(); i++){//用于获取元素的属性值:适用于不知道属性名称的情况下NamedNodeMap nnm = nodeList.item(i).getAttributes();for(int j = 0; j

根元素:学生名册

#text学生#text学生#text学生#text

准考证号=001 学号=1 教室号=001

文档解析网站__文档解析工具

准考证号=002 学号=2 教室号=002

准考证号=003 学号=3 教室号=003


<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Course30\student.xsd"><学生 学号="1" 准考证号="001" 教室号="001"><姓名>张三<性别>男<年龄>20<学生 学号="2" 准考证号="002" 教室号="002"><姓名>李四<性别>女<年龄>19<学生 学号="3" 准考证号="003" 教室号="003"><姓名>王五<性别>男<年龄>21

package cn.sisy.xml;import java.io.File;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Attr;
import org.w3c.dom.Comment;
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;/*** 使用递归解析给定的任意一个xml文档并且将其内容输出到命令行上*/
public class DomTest03 {public static void main(String[] args) throws Exception {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document doc = db.parse(new File("student.xml"));//获得根元素结点Element root = doc.getDocumentElement();parseElement(root);}private static void parseElement(Element element) {String tagName = element.getNodeName();NodeList children = element.getChildNodes();System.out.print("<" + tagName);//element元素的所有属性所构成的NamedNodeMap对象,需要对其进行判断NamedNodeMap map = element.getAttributes();//如果该元素存在属性if (null != map) {//map.getLength()此映射中的节点数for (int i = 0; i < map.getLength(); i++) {//获得该元素的每一个属性Attr attr = (Attr) map.item(i);String attrName = attr.getName();String attrValue = attr.getValue();System.out.print(" " + attrName + "=\"" + attrValue + "\"");}
//			System.out.println(map.getLength());}System.out.print(">");for (int i = 0; i < children.getLength(); i++) {Node node = children.item(i);//获得结点的类型short nodeType = node.getNodeType();if (nodeType == Node.ELEMENT_NODE) {//是元素,继续递归parseElement((Element) node);} else if (nodeType == Node.TEXT_NODE) {//递归出口System.out.print(node.getNodeValue());} else if (nodeType == Node.COMMENT_NODE) {System.out.print("");}}System.out.print("");}
}

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了