java pcsc,java解析xml_dome_SAX

packagecom.dwt1220;

importjava.io.FileOutputStream;

importjavax.xml.parsers.DocumentBuilder;

importjavax.xml.parsers.DocumentBuilderFactory;

importjavax.xml.transform.Transformer;

importjavax.xml.transform.TransformerFactory;

importjavax.xml.transform.dom.DOMSource;

importjavax.xml.transform.stream.StreamResult;

importorg.w3c.dom.Document;

importorg.w3c.dom.Element;

importorg.w3c.dom.Node;

importorg.w3c.dom.NodeList;

publicclasstestadmin {

publicstaticvoidmain(String[] args)throwsException {

/**************************** 创建Document类 *********************************************/

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse("./src/student.xml");

/**************************** 添加student节点

*********************************************/

/**

* ①创建节点

* ②设置节点的值(包括属性)

* ③获得节点插入的位置

* ④插入节点

* ⑤更新文件

*/

/**①创建节点*/

/************ 创建student节点 **********/

Element studentElement = document.createElement("student");

/************ 创建name,location,grade节点 **********/

Element nameElement = document.createElement("name");

Element locationElement = document.createElement("location");

Element gradeElement = document.createElement("grade");

/**②设置节点的值(包括属性)*/

/************ 设置name,location,grade节点的值 ******/

nameElement.setTextContent("nameValue");

locationElement.setTextContent("locationValue");

gradeElement.setTextContent("gradeValue");

/************ 设置student节点的属性*******/

studentElement.setAttribute("examid","value");

studentElement.setAttribute("idcard","value");

/**③获得节点插入的位置*/

/************ 获得XML的根节点 ******/

Node rootNode = document.getElementsByTagName("exam").item(0);

/**④插入节点*/

/************ 把student节点添加到根节点下 ******/

rootNode.appendChild(studentElement);

/************ 把name,locationt,gradet节点添加到student节点下 ******/

studentElement.appendChild(nameElement);

studentElement.appendChild(locationElement);

studentElement.appendChild(gradeElement);

/**⑤更新文件*/

TransformerFactory transformerFactory =

TransformerFactory.newInstance();

Transformer tf = transformerFactory.newTransformer();

tf.transform(newDOMSource(document),newStreamResult(

newFileOutputStream("./src/student.xml")));

// /**************************** 修改name节点

// *********************************************/

// /**

// * 把name值为nameValue修改成newValue

// * ① 获得name节点的list

// * ②查找内容相符的name节点

// * ③修改节点内容

// * ④更新文件

// */

// String updataValue = "nameValue";

//

// /************ ① 获得需要修改的节点 **************/

// NodeList nameNodeList = document.getElementsByTagName("name");

//

// /************ ②查找内容相符的节点 **************/

// for (int i = 0; i 

//

// /************ ③修改节点内容 **************/

// if (updataValue.equals(nameNodeList.item(i).getTextContent()))

// nameNodeList.item(i).setTextContent("newValue");

// }

//

// /** ④更新文件 */

// TransformerFactory transformerFactory = TransformerFactory

// .newInstance();

// Transformer tf = transformerFactory.newTransformer();

// tf.transform(new DOMSource(document), new StreamResult(

// new FileOutputStream("./src/student.xml")));

// /**************************** 删除节点or替换节点

// *********************************************/

// /***

// * 把name值为nameValue的Student节点删除

// * ① 获得name节点的list

// * ②查找内容相符的name节点

// * ③获得name的Student父节点, 从Student的父节点删除student

// * ④更新文件

// */

// String delaValue = "nameValue";

//

// /************ ① 获得name节点的list **************/

// NodeList nameNodeList = document.getElementsByTagName("name");

//

// /************ ②查找内容相符的name节点 **************/

// for (int i = 0; i 

// if (delaValue.equals(nameNodeList.item(i).getTextContent())) {

// /************ ③获得name的Student父节点,从Student的父节点删除student

// **************/

// nameNodeList.item(i).getParentNode().getParentNode()

// .removeChild(nameNodeList.item(i).getParentNode());

// /*******如果要替换节点用.replaceChild(newChild, oldChild)方法************/

// }

// }

//

// /** ④更新文件 */

// TransformerFactory transformerFactory = TransformerFactory

// .newInstance();

// Transformer tf = transformerFactory.newTransformer();

// tf.transform(new DOMSource(document), new StreamResult(

// new FileOutputStream("./src/student.xml")));

// /************** 解析xml ************************/

// /****获得根节点*****/

// Element rootElement = document.getDocumentElement();

// /****获得所有student节点****/

// NodeList studentNodeList =

// rootElement.getElementsByTagName("student");

//

// /****打印student的节点名,和值****/

// for (int i = 0; i 

// System.out.println("studentNodeitem("+"i):   "+studentNodeList.item(i).getNodeName());

//

// /****获得所有student下的所有子节点****/

// NodeList studentChildNodeList =

// studentNodeList.item(i).getChildNodes();

//

// /****打印student下的所有字节点的,节点名 和值 ※回车算一个字text节点****/

// for(int j=0;j

// System.out.println(studentChildNodeList.item(j).getNodeName()+"  "+studentChildNodeList.item(j).getTextContent());

// }

//

// }

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值