Java创建,解析XML片段文件,无根节点root
来源:互联网 发布:js 同级下一个元素 编辑:程序博客网 时间:2024/05/19 08:39
1. 创建xml文件
- 包引用,需要导入如下三个包
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import java.util.ArrayList;import java.util.Collection;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import java.util.concurrent.TimeUnit;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.stream.StreamResult;
- 具体实现
public String createXmlInfo(String dst_ip) { // create xmlInfo pushed to snc String xmlStr = null; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); document.setXmlVersion("1.0"); Element aclGroup = document.createElement("aclGroup"); document.appendChild(aclGroup); Element aclNumOrName = document.createElement("aclNumOrName"); aclNumOrName.setTextContent("secflow"); aclGroup.appendChild(aclNumOrName); Element aclStep = document.createElement("aclStep"); aclStep.setTextContent("3"); aclGroup.appendChild(aclStep); Element aclType = document.createElement("aclType"); aclType.setTextContent("Advance"); aclGroup.appendChild(aclType); Element aclRuleAdv4s = document.createElement("aclRuleAdv4s"); Element aclRuleAdv4 = document.createElement("aclRuleAdv4"); Element aclRuleID = document.createElement("aclRuleID"); aclRuleID.setTextContent("4"); aclRuleAdv4.appendChild(aclRuleID); Element aclProtocol = document.createElement("aclProtocol"); aclProtocol.setTextContent("0"); aclRuleAdv4.appendChild(aclProtocol); Element aclSourceIp = document.createElement("aclSourceIp"); aclSourceIp.setTextContent("0.0.0.0"); aclRuleAdv4.appendChild(aclSourceIp); Element aclSrcWild = document.createElement("aclSrcWild"); aclSrcWild.setTextContent("0.0.0.255"); aclRuleAdv4.appendChild(aclSrcWild); Element aclDestIp = document.createElement("aclDestIp"); aclDestIp.setTextContent(dst_ip); aclRuleAdv4.appendChild(aclDestIp); Element aclDestWild = document.createElement("aclDestWild"); aclDestWild.setTextContent("0.0.0.255"); aclRuleAdv4.appendChild(aclDestWild); Element aclRuleName = document.createElement("aclRuleName"); aclRuleName.setTextContent("rule1"); aclRuleAdv4.appendChild(aclRuleName); aclRuleAdv4s.appendChild(aclRuleAdv4); aclGroup.appendChild(aclRuleAdv4s); TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transFormer = null; try { transFormer = transFactory.newTransformer(); } catch (TransformerConfigurationException e) { log.info("{}",e.getMessage()); } DOMSource domSource = new DOMSource(document); ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { transFormer.transform(domSource, new StreamResult(bos)); } catch (TransformerException e) { log.info("{}",e.getMessage()); } org.dom4j.Document doc = null; try { doc = DocumentHelper.parseText(bos.toString()); } catch (DocumentException e) { e.printStackTrace(); } String test = doc.node(0).asXML(); xmlStr = test.replace("<aclGroup>","").replace("</aclGroup>",""); } catch (ParserConfigurationException e) { log.info("{}",e.getMessage()); } return xmlStr; }
- 结果:生成xml数据如下
<aclStep>5</aclStep><aclType>Advance</aclType><aclRuleAdv4s> <aclRuleAdv4> <aclRuleID>1</aclRuleID> <aclProtocol>0</aclProtocol> <aclSourceIp>192.168.1.0</aclSourceIp> <aclSrcWild>0.0.0.255</aclSrcWild> <aclDestIp>192.168.2.0</aclDestIp> <aclDestWild>0.0.0.255</aclDestWild> <aclRuleName>rule1</aclRuleName> </aclRuleAdv4> </aclRuleAdv4s>
0 0
- Java创建,解析XML片段文件,无根节点root
- java 解析没有根节点的类xml文件
- java解析xml文件获取节点内容
- Java解析xml以及创建xml文件
- 创建并解析XML文件Java实例
- android或者java解析相同节点的xml文件
- java中dom4j解析xml文件怎么获取节点属性
- java解析xml文件并获取子节点
- Java解析Xml文件—判断Xml文件的节点是否存在子节点_以及对节点下不同子节点的内容解析方式
- [Dom解析]java创建和解析xml文件
- java 操作XML文件(片段)
- java创建解析XML
- xml解析片段
- XML文件解析,未找到节点
- 解析xml文件 selectSingleNode取不到节点
- C# 解析xml文件各个节点
- Dom4j解析XML文件子节点
- Java通过Dom4j来解析和创建XML文件
- Openstack安全组与conntrack简介(2)
- latex 常用小结
- 计算机体系结构
- JVM读书笔记与总结之对象的访问定位
- 宏定义的实现....和拼接
- Java创建,解析XML片段文件,无根节点root
- UED学习网站
- Ng-cloak解决angularJs中的闪烁问题
- 排序
- H2数据库使用
- yii2框架-yii2的asset资源包(十一)
- Eclipse工作空间的删除方法
- NodeJs——(3)和文件(fs)
- 数据库原理(十)--t-sql