XML Schema 的代码编写
来源:互联网 发布:java基础代码题 编辑:程序博客网 时间:2024/06/06 03:41
XML Schema 的代码编写
<水果>
<苹果>苹果</苹果>
<香蕉>中文</香蕉>
<梨>pear</梨>
</水果>
(1)查找节点名称、节点值、节点类型和节点个数
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
childNodesLength(doc);
Node shuiguo = doc.getElementsByTagName("水果").item(0);
listNodes(shuiguo);
}
public static void listNodes(Node shuiguo) {
NodeList nodelist = shuiguo.getChildNodes();
for (int i = 0; i < nodelist.getLength(); i++) {
System.out.println("节点的名称" + nodelist.item(i).getNodeName()
+ " 节点的类型:" + nodelist.item(i).getNodeType()
+ " 节点的值:" + nodelist.item(i).getNodeValue());
}
}
public static void childNodesLength(Document doc) {
Node shuiguo = doc.getElementsByTagName("水果").item(0);
NodeList nodelist = shuiguo.getChildNodes();
int count = 0;
for (int i = 0; i < nodelist.getLength(); i++) {
if (nodelist.item(i).getNodeType() == Node.ELEMENT_NODE)
count++;
}
System.out.println("水果中含有的元素节点的个数是:" + count);
}
}
(2)打印节点的名称和内容:
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest1 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
Node node = doc.getElementsByTagName("水果").item(0);
listNode(node);
}
public static void listNode(Node node) {
System.out.println("节点名称:" + node.getNodeName() + " 节点值:"
+ node.getNodeValue());
if (node.getNodeType() == Node.ELEMENT_NODE) {
NamedNodeMap map = node.getAttributes();
if (map != null) {
for (int i = 0; i < map.getLength(); i++) {
System.out.println("属性节点名称:" + map.item(i).getNodeName()
+ " 属性节点的值:" + map.item(i).getNodeValue());
}
}
}
NodeList nodelist = node.getChildNodes();
if (nodelist.getLength() > 0) {
for (int i = 0; i < nodelist.getLength(); i++) {
listNode(nodelist.item(i));
}
}
}
}
(3)对属性和节点的一些插删改查:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest2 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
find(doc);
findAtt(doc);
createElement(doc);
removeElement(doc);
updateElement(doc);
updateAttribute(doc);
}
public static void updateAttribute(Document doc) throws Exception {
Node apple=doc.getElementsByTagName("苹果").item(0);
if(apple.getNodeType()==Node.ELEMENT_NODE){
Element element=(Element)apple;
element.getAttributeNode("id").setValue("333333");
}
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void updateElement(Document doc) throws Exception {
Node grape=doc.getElementsByTagName("葡萄").item(0);
grape.setTextContent("grapegrapegrape");
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void removeElement(Document doc) throws Exception {
Node grape=doc.getElementsByTagName("葡萄").item(0);
grape.getParentNode().removeChild(grape);
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void createElement(Document doc) throws Exception {
NodeList shuiguos=doc.getElementsByTagName("水果");
Node shuiguo=shuiguos.item(1);
Node grape=doc.createElement("葡萄");
Node grapevalue=doc.createTextNode("grape");
grape.appendChild(grapevalue);
shuiguo.insertBefore(grape, doc.getElementsByTagName("梨").item(1));
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void findAtt(Document doc) {
NodeList nodelist=doc.getElementsByTagName("水果");
Node node=nodelist.item(0);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element element=(Element)node;
String name=element.getAttribute("id");
System.out.println(name);
}
}
public static void find(Document doc) {
NodeList nodelist=doc.getElementsByTagName("水果");
Node node=nodelist.item(0);
String value=node.getTextContent();
String value1=node.getNodeValue();
String value2=node.getChildNodes().item(0).getNodeValue();
System.out.println(value2);
}
}
1、查找节点:
(xml文档可以自己编写的。)
shuiguo.xml
<?xml version="1.0" encoding="UTF-8"?><水果>
<苹果>苹果</苹果>
<香蕉>中文</香蕉>
<梨>pear</梨>
</水果>
(1)查找节点名称、节点值、节点类型和节点个数
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
childNodesLength(doc);
Node shuiguo = doc.getElementsByTagName("水果").item(0);
listNodes(shuiguo);
}
public static void listNodes(Node shuiguo) {
NodeList nodelist = shuiguo.getChildNodes();
for (int i = 0; i < nodelist.getLength(); i++) {
System.out.println("节点的名称" + nodelist.item(i).getNodeName()
+ " 节点的类型:" + nodelist.item(i).getNodeType()
+ " 节点的值:" + nodelist.item(i).getNodeValue());
}
}
public static void childNodesLength(Document doc) {
Node shuiguo = doc.getElementsByTagName("水果").item(0);
NodeList nodelist = shuiguo.getChildNodes();
int count = 0;
for (int i = 0; i < nodelist.getLength(); i++) {
if (nodelist.item(i).getNodeType() == Node.ELEMENT_NODE)
count++;
}
System.out.println("水果中含有的元素节点的个数是:" + count);
}
}
(2)打印节点的名称和内容:
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest1 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
Node node = doc.getElementsByTagName("水果").item(0);
listNode(node);
}
public static void listNode(Node node) {
System.out.println("节点名称:" + node.getNodeName() + " 节点值:"
+ node.getNodeValue());
if (node.getNodeType() == Node.ELEMENT_NODE) {
NamedNodeMap map = node.getAttributes();
if (map != null) {
for (int i = 0; i < map.getLength(); i++) {
System.out.println("属性节点名称:" + map.item(i).getNodeName()
+ " 属性节点的值:" + map.item(i).getNodeValue());
}
}
}
NodeList nodelist = node.getChildNodes();
if (nodelist.getLength() > 0) {
for (int i = 0; i < nodelist.getLength(); i++) {
listNode(nodelist.item(i));
}
}
}
}
(3)对属性和节点的一些插删改查:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest2 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("src/shuiguo.xml"));
find(doc);
findAtt(doc);
createElement(doc);
removeElement(doc);
updateElement(doc);
updateAttribute(doc);
}
public static void updateAttribute(Document doc) throws Exception {
Node apple=doc.getElementsByTagName("苹果").item(0);
if(apple.getNodeType()==Node.ELEMENT_NODE){
Element element=(Element)apple;
element.getAttributeNode("id").setValue("333333");
}
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void updateElement(Document doc) throws Exception {
Node grape=doc.getElementsByTagName("葡萄").item(0);
grape.setTextContent("grapegrapegrape");
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void removeElement(Document doc) throws Exception {
Node grape=doc.getElementsByTagName("葡萄").item(0);
grape.getParentNode().removeChild(grape);
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void createElement(Document doc) throws Exception {
NodeList shuiguos=doc.getElementsByTagName("水果");
Node shuiguo=shuiguos.item(1);
Node grape=doc.createElement("葡萄");
Node grapevalue=doc.createTextNode("grape");
grape.appendChild(grapevalue);
shuiguo.insertBefore(grape, doc.getElementsByTagName("梨").item(1));
TransformerFactory factory=TransformerFactory.newInstance();
Transformer former=factory.newTransformer();
former.transform(new DOMSource(doc), new StreamResult(new File("src/shuiguo.xml")));
}
public static void findAtt(Document doc) {
NodeList nodelist=doc.getElementsByTagName("水果");
Node node=nodelist.item(0);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element element=(Element)node;
String name=element.getAttribute("id");
System.out.println(name);
}
}
public static void find(Document doc) {
NodeList nodelist=doc.getElementsByTagName("水果");
Node node=nodelist.item(0);
String value=node.getTextContent();
String value1=node.getNodeValue();
String value2=node.getChildNodes().item(0).getNodeValue();
System.out.println(value2);
}
}
- XML Schema 的代码编写
- XML Schema 的编写
- XML:Schema、三种编写Schema的方式
- xml schema编写
- 编写一个xml Schema
- 利用Schema验证xml的代码
- 如何编写一个 XML Schema
- 如何编写一个 XML Schema
- XML schema的使用
- solr的schema.xml
- xml的schema
- XML的约束:schema
- solrcore的schema.xml
- xml的schema约束
- xml的Schema扩展
- Xml的schema约束
- XML(3)——schema文件的三种编写方式
- 根据Schema文件编写xml并解析xml文件
- [转] 撞车之后,不要傻里傻气的!
- jsp显示绝对路径的图片
- 用hibernate和myeclipse时间(年月日时分秒)的输入。
- 2012-10-18
- Audio Policy分析
- XML Schema 的代码编写
- uvalive 5026 树-直径
- POJ 1696
- EXTJS与java后台交互(一)DWR使用
- xml的删插改查
- Surface分析
- XML解析之 对元素属性,节点,的增删改查
- 十月18日
- GDB用法详解