Java读取xml
首先将xml的格式展示出来,如下
<?xml version="1.0"?> <configuration> <connectionStrings name="zhangsan"> <add name="dbSqlServer" connectionString="Data Source=.;Initial Catalog=Life;User ID=sa;pwd=hzsoft"/> <add name="dbAccess" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\Life.mdb;"/> <add name="dbSqlite" connectionString="Data Source=|DataDirectory|\Life.db3;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"/> </connectionStrings> </configuration>
此处采用的读取方式是DOM4J,需要先下载对应的jar包,具体下载地址如下:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
java的具体代码如下:
import java.io.File; import java.util.List; import org.dom4j.*; import org.dom4j.io.SAXReader; public class Hello { public static void main(String[] args) { // TODO Auto-generated method stub SAXReader reader = new SAXReader(); File f = new File("D:\\Web.xml"); try { Document document = reader.read(f); Element root = document.getRootElement(); Element conn = root.element("connectionStrings"); String val = conn.attribute("name").getValue(); System.out.println(val); List list = conn.elements("add"); for (int i = 0; i < list.size(); i++) { Element ele = (Element) list.get(i); System.out.println(ele.attribute("connectionString").getValue()); } ///////// foreach实现 for (Object obj : list) { Element ele = (Element) obj; System.out.println(ele.attribute("connectionString").getValue()); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
上面是读取xml文件,写入xml文件的代码如下:
import java.io.*; import org.dom4j.*; import org.dom4j.io.*; public class App { public static void main(String[] args) throws IOException { Document document = DocumentHelper.createDocument(); Element root = DocumentHelper.createElement("configuration"); document.setRootElement(root); Element eleConnectionStrings = root.addElement("connectionStrings"); eleConnectionStrings.addAttribute("name", "zhangsan"); Element eleAdd = eleConnectionStrings.addElement("add"); eleAdd.addAttribute("name", "dbSqlServer"); // 格式化,避免写入文件是一行数据 OutputFormat opf = new OutputFormat(); opf.setNewlines(true); opf.setIndent(true); opf.setEncoding("utf-8");//编码格式 opf.setIndent(" ");// 使用4个空格进行缩进, 可以兼容文本编辑器 XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("config.xml"), opf); xmlWriter.write(document); // xmlWriter.flush(); xmlWriter.close(); //上面的方法无法完全释放资源 } }
很久没有接触Java了,最近经理说我们公司将技术转型,由以前的C#转Java,因此回顾一下,特此记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗