xml文件能更改嗎,matlab分析xml文件_修改Java中的XML文件(DOM分析器)

 2023-11-19 阅读 20 评论 0

摘要:matlab分析xml文件We can modify XML file in Java using DOM parser. We can add elements, remove elements, edit element values, edit attributes in an XML document in java using DOM Parser.xml文件能更改嗎、 我們可以使用DOM解析器修改Java中的XML文件。 我們可以使

matlab分析xml文件

We can modify XML file in Java using DOM parser. We can add elements, remove elements, edit element values, edit attributes in an XML document in java using DOM Parser.

xml文件能更改嗎、 我們可以使用DOM解析器修改Java中的XML文件。 我們可以使用DOM Parser在Java中的XML文檔中添加元素,刪除元素,編輯元素值,編輯屬性。

修改Java中的XML文件 (Modify XML File in Java)

Let’s say we have below source XML file. We will learn how to modify or edit this XML file in java program using DOM parser.

假設我們有下面的源XML文件。 我們將學習如何使用DOM解析器在Java程序中修改或編輯此XML文件。

讀取xml文件?employee.xml

employee.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Employees><Employee id="1"><name>Pankaj</name><age>29</age><role>Java Developer</role><gender>Male</gender></Employee><Employee id="2"><name>Lisa</name><age>35</age><role>CSS Developer</role><gender>Female</gender></Employee>
</Employees>

We will edit the XML file with below changes.

matlab讀取table數據? 我們將通過以下更改來編輯XML文件。

  1. Update the “id” attribute value for all the Employee based on Gender. For Male, id will be prefixed with “M” else prefix with “F”.

    根據性別更新所有員工的“ id”屬性值。 對于男性,id將以“ M”為前綴,否則以“ F”為前綴。
  2. Update the value of “name” element by making it to upper case.

    通過將大寫的“名稱”元素的值更新。
  3. Delete “gender” element as it’s not used now.

    刪除“性別”元素,因為現在不使用它。
  4. Add a new element “salary” to all the employee node in the xml.

    向xml中的所有employee節點添加一個新元素“ salary”。

Once we make above modification to the XML, we will save it to a different file.

對XML進行以上修改后,我們會將其保存到其他文件中。

matlab table2array?Here is the java program that does all the above updates using DOM Parser.

這是使用DOM分析器進行上述所有更新的Java程序。

ModifyXMLDOM.java

ModifyXMLDOM.java

package com.journaldev.xml;import java.io.File;
import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;public class ModifyXMLDOM {public static void main(String[] args) {String filePath = "employee.xml";File xmlFile = new File(filePath);DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();DocumentBuilder dBuilder;try {dBuilder = dbFactory.newDocumentBuilder();Document doc = dBuilder.parse(xmlFile);doc.getDocumentElement().normalize();//update attribute valueupdateAttributeValue(doc);//update Element valueupdateElementValue(doc);//delete elementdeleteElement(doc);//add new elementaddElement(doc);//write the updated document to file or consoledoc.getDocumentElement().normalize();TransformerFactory transformerFactory = TransformerFactory.newInstance();Transformer transformer = transformerFactory.newTransformer();DOMSource source = new DOMSource(doc);StreamResult result = new StreamResult(new File("employee_updated.xml"));transformer.setOutputProperty(OutputKeys.INDENT, "yes");transformer.transform(source, result);System.out.println("XML file updated successfully");} catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {e1.printStackTrace();}}private static void addElement(Document doc) {NodeList employees = doc.getElementsByTagName("Employee");Element emp = null;//loop for each employeefor(int i=0; i<employees.getLength();i++){emp = (Element) employees.item(i);Element salaryElement = doc.createElement("salary");salaryElement.appendChild(doc.createTextNode("10000"));emp.appendChild(salaryElement);}}private static void deleteElement(Document doc) {NodeList employees = doc.getElementsByTagName("Employee");Element emp = null;//loop for each employeefor(int i=0; i<employees.getLength();i++){emp = (Element) employees.item(i);Node genderNode = emp.getElementsByTagName("gender").item(0);emp.removeChild(genderNode);}}private static void updateElementValue(Document doc) {NodeList employees = doc.getElementsByTagName("Employee");Element emp = null;//loop for each employeefor(int i=0; i<employees.getLength();i++){emp = (Element) employees.item(i);Node name = emp.getElementsByTagName("name").item(0).getFirstChild();name.setNodeValue(name.getNodeValue().toUpperCase());}}private static void updateAttributeValue(Document doc) {NodeList employees = doc.getElementsByTagName("Employee");Element emp = null;//loop for each employeefor(int i=0; i<employees.getLength();i++){emp = (Element) employees.item(i);String gender = emp.getElementsByTagName("gender").item(0).getFirstChild().getNodeValue();if(gender.equalsIgnoreCase("male")){//prefix id attribute with Memp.setAttribute("id", "M"+emp.getAttribute("id"));}else{//prefix id attribute with Femp.setAttribute("id", "F"+emp.getAttribute("id"));}}}}

Output modified version of the XML file from above program is given below.

下面給出了來自上述程序的XML文件的輸出修改版本。

employee_updated.xml

employee_updated.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Employees><Employee id="M1"><name>PANKAJ</name><age>29</age><role>Java Developer</role><salary>10000</salary>
</Employee><Employee id="F2"><name>LISA</name><age>35</age><role>CSS Developer</role><salary>10000</salary>
</Employee>
</Employees>

That’s all for a quick example of java edit XML file using DOM parser.

這就是使用DOM解析器的Java編輯XML文件的快速示例。

翻譯自: https://www.journaldev.com/901/modify-xml-file-in-java-dom-parser

matlab分析xml文件

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/183272.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息