ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java生成xml

2022-02-07 15:02:00  阅读:291  来源: 互联网

标签:xml appendChild Java name setAttribute param 生成 document gateway


1.创建document

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder db = factory.newDocumentBuilder();
Document document = db.newDocument();
document.setXmlStandalone(false); // 去掉xml 的默认文件头

2.创建节点并放入值

Element include = document.createElement("include");
Element gateway = document.createElement("gateway");
Element param = document.createElement("param");
Element param1 = document.createElement("param");
Element param2 = document.createElement("param");
Element param3 = document.createElement("param");
gateway.setAttribute("name",name);

3.添加节点层级

gateway.setAttribute("name",sipGateway);
include.appendChild(gateway);
param.setAttribute("name","username");
param1.setAttribute("name","realm");
param2.setAttribute("name","proxy");
param3.setAttribute("name","register");
param.setAttribute("value",callNumber);
param1.setAttribute("value",realm);
param2.setAttribute("value",proxy);
param3.setAttribute("value",register);
gateway.appendChild(param);
gateway.appendChild(param1);
gateway.appendChild(param2);
gateway.appendChild(param3);
document.appendChild(include);

4.设置换行并输出

  // 创建TransformerFactory对象
            TransformerFactory tff = TransformerFactory.newInstance();
            // 创建 Transformer对象
            Transformer tf = tff.newTransformer();
            // 输出内容是否使用换行
            tf.setOutputProperty(OutputKeys.INDENT, "yes");
            //缩进2格
            tf.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT, "2");
            tf.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");
            StreamResult result = new StreamResult(out) ;
            tf.transform(new DOMSource(document.getDocumentElement()), new StreamResult(out));

标签:xml,appendChild,Java,name,setAttribute,param,生成,document,gateway
来源: https://blog.csdn.net/qaz__01/article/details/122808883

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有