XML简单总结(0309day08)
XML总结1.XML的简介
2.XML中常用的转义字符 大于号(>) 小于号(<) 双引号(") 单引号(') &号(&s;) 备注:当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低。这时如果使用CDATA段就会好一些。 在CDATA段中出现的“<”、“>”、“””、“’”、“&”,都无需使用转义字 符。CDATA的格式:<![CDATA[ 要显示的内容 ]]> 3.XML约束
4.XML的解析 在xml的解析中主要讲解了dom4j 4.1 dom4j的快速入门: //第一步:创建解析对象 SAXReader sr=new SAXReader(); //第二步:读取相应的XML文件,read中的内容为需要读取的xml文件的路径 Document doc=sr.read(“*******”); //第三步:得到相应的根元素 Element root=doc.getRootElement(); //再调用其他方法,获取子元素 4.2 Xpath的快速入门 //第一步:创建解析对象 SAXReader reader = new SAXReader(); //第二步:读取xml文件 Document doc=reader.read(“*****”); //第三步:得到要求的结点(Nodes或singleNode) demo1: List<Element> elements = document.selectNodes("//year"); //该方法是获得所有year标签 for(Element ele:elements){ System.out.println(ele.getText()); } demo2: Element ele = (Element) document.selectSingleNode("//book[@category='WEB']/price"); //该方法是获取属性名为category,属性值为web的book标签下的price标签,结果是单个标签 System.out.println(ele.getText());
dom4j中常用的方法: Node方法: l String asXML():把当前节点转换成字符串,如果当前Node是Document,那么就会把整个XML文档返回; l String getName():获取当前节点名字;Document的名字就是绑定的XML文档的路径;Element的名字就是元素名称;Attribute的名字就是属性名; l Document getDocument():返回当前节点所在的Document对象; l short getNodeType():获取当前节点的类型; l String getNodeTypeName():获取当前节点的类型名称,例如当前节点是Document的话,那么该方法返回Document; l String getStringValue():获取当前节点的子孙节点中所有文本内容连接成的字符串; l String getText():获取当前节点的文本内容。如果当前节点是Text等文本节点,那么本方法返回文本内容;例如当前节点是Element,那么当前节点的内容不是子元素,而是纯文本内容,那么返回文本内容,否则返回空字符串; l void setDocument(Document doc):给当前节点设置文档元素; l void setParent(Element parent):给当前节点设置父元素; l void setText(String text):给当前节点设置文本内容;
Branch方法: l void add(Element e):添加子元素; l void add(Node node):添加子节点; l void add(Comment comment):添加注释; l Element addElement(String eleName):通过名字添加子元素,返回值为子元素对象; l void clearContent():清空所有子内容; l List content():获取所有子内容,与获取所有子元素的区别是,<name>liSi</name>元素没有子元素,但有子内容; l Element elementById(String id):如果元素有名为“ID”的属性,那么可以使用这个方法来查找; l int indexOf(Node node):查找子节点在子节点列表中的下标位置; l Node node(int index):通过下标获取子节点; l int nodeCount():获取子节点的个数; l Iterator nodeIterator():获取子节点列表的迭代器对象; l boolean remove(Node node):移除指定子节点; l boolean remove(Commont commont):移除指定注释; l boolean remove(Element e):移除指定子元素; l void setContent(List content) :设置子节点内容;
Document方法: l Element getRootElement():获取根元素; l void setRootElement():设置根元素; l String getXmlEncoding():获取XML文档的编码; l void setXmlEncoding():设置XML文档的编码;
Element方法: l void add(Attribute attr):添加属性节点; l void add(CDATA cdata):添加CDATA段节点; l void add(Text Text):添加Text节点; l Element addAttribute(String name,String value):添加属性,返回值为当前元素本身; l Element addCDATA(String cdata):添加CDATA段节点; l Element addComment(String comment):添加属性节点; l Element addText(String text):添加Text节点; l void appendAttributes(Element e):把参数元素e的所有属性添加到当前元素中; l Attribute attribute(int index):获取指定下标位置上的属性对象; l Attribute attribute(String name):通过指定属性名称获取属性对象; l int attributeCount():获取属性个数; l Iterator attributeIterator():获取当前元素属性集合的迭代器; l List attributes():获取当前元素的属性集合; l String attributeValue(String name):获取当前元素指定名称的属性值; l Element createCopy():clone当前元素对象,但不会copy父元素。也就是说新元素没有父元素,但有子元素; l Element element(String name):获取当前元素第一个名称为name的子元素; l Iterator elementIterator():获取当前元素的子元素集合的迭代器; l Iterator elementIterator(String name):获取当前元素中指定名称的子元素集合的迭代器; l List elements():获取当前元素子元素集合; l List elements(String name):获取当前元素指定名称的子元素集合; l String elementText(String name):获取当前元素指定名称的第一个元素文件内容; l String elementTextTrime(String name):同上,只是去除了无用空白; l boolean isTextOnly():当前元素是否为纯文本内容元素; l boolean remove(Attribute attr):移除属性; l boolean remove(CDATA cdata):移除CDATA; l boolean remove(Text text):移除Text。
DocumentHelper静态方法介绍: l static Document createDocument():创建Dcoument对象; l static Element createElement(String name):创建指定名称的元素对象; l static Attribute createAttrbute(Element owner,String name,String value):创建属性对象; l static Text createText(String text):创建属性对象;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |