1、引入依赖
<dependency>
<scope>compile</scope>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
2、代码示例
@Test
public void test01() throws DocumentException, IOException {
Document doc=new SAXReader().read(new File("src/main/resources/br5221.xml"));
Element rootElement = doc.getRootElement();
Element stuElem= (Element)rootElement.elements("node").get(5);
Element communicationcode = (Element) stuElem.elements("parameter").get(0);
List<Attribute> listAttr=communicationcode.attributes();
for(Attribute attr:listAttr){
String name=attr.getName();
String value=attr.getValue();
System.out.println("属性名称:"+name+"属性值:"+value);
if (name.equals("value")) {
attr.setValue("br5221");
}
}
FileOutputStream out =new FileOutputStream("src/main/resources/br5221res.xml");
OutputFormat format= OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(out,format);
writer.write(doc);
writer.close();
}
<?xml version="1.0" encoding="utf8"?>
<flow xmlns="http://www.sunline.cn/bpl" label="机构关系查询交易流程" author="" createDate="2017-8-17 11:35:55" md5="a86ec6d3256fe8b7803e2f6e8be73526f64bf1ec" modify_user="sunline" modify_Date="2020-3-31 19:07:36" enableLog="true" type="" template="RdpCoreFlowTemplateSys/template/oneformtrx.jstpt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sunline.cn/bpl BPL.xsd">
<description></description>
<parameters/>
<variables/>
<routes>
<route name="S" desc="成功" exception="false" dynamic="false"/>
<route name="E" desc="异常" exception="true" dynamic="false"/>
</routes>
<node id="START0" xsi:type="START" label="开始0" enableLog="false" delable="true" editable="true">
<sourceConnections>
<sourceConnection id="lnk110" xsi:type="TRANSACTIONCONNECTION" sourceNode="START0" targetNode="INVOKEROUTE4" label="" routeName="S" routeIndex="1" default="TRUE" order="2147483647">
<description></description>
<point x="241" y="93"/>
<point x="241" y="119"/>
<point x="262" y="119"/>
<point x="262" y="129"/>
<condition>true</condition>
</sourceConnection>
</sourceConnections>
<description>开始0</description>
<rectangle x="188" y="55" width="150" height="38"/>
<labelRectangle x="188" y="55" width="150" height="38"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
</node>
<node id="INVOKEROUTE4" xsi:type="INVOKEROUTE" label="打开窗体" enableLog="false" delable="true" editable="true" class="RdpFlowComponentSys/component/platext/openForm/" method="openForm" desc="打开窗体" dynamic="true" isSystemApi="false" pilejscode="" stubconfig="" routeNode="">
<sourceConnections>
<sourceConnection id="lnk111" xsi:type="TRANSACTIONCONNECTION" sourceNode="INVOKEROUTE4" targetNode="INVOKEROUTE8" label="" routeName="S" routeIndex="1" default="TRUE" order="2147483647">
<description></description>
<point x="240" y="168"/>
<point x="240" y="186"/>
<point x="264" y="186"/>
<point x="264" y="196"/>
<condition>true</condition>
</sourceConnection>
</sourceConnections>
<targetConnections>
<tartetConnection type="TRANSACTIONCONNECTION">lnk110</tartetConnection>
</targetConnections>
<description>打开窗体</description>
<rectangle x="187" y="130" width="150" height="38"/>
<labelRectangle x="187" y="130" width="150" height="38"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
<parameter name="sFormId" type="String" primitiveType="FALSE" mode="IN" value=""br5221In"" defaultvalue="" dimension="0" desc="窗体名称" paratype="" busitype="formid" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<parameter name="sInputType" type="String" primitiveType="FALSE" mode="IN" value="O" defaultvalue="" dimension="0" desc="窗体输入属性" paratype="string" busitype="context" inputtype="list" listid="inputtype" paravaltype="" paraFilePath="" interfacedata=""/>
<parameter name="rData" type="String" primitiveType="FALSE" mode="IN" value="null" defaultvalue="" dimension="0" desc="窗体数据" paratype="" busitype="" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<parameter name="returnValue" type="String" primitiveType="FALSE" mode="OUT" value="" defaultvalue="" dimension="0" desc="交易对象" paratype="" busitype="" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<route name="S" desc="确定" exception="false" dynamic="false"/>
<route name="E" desc="异常" exception="true" dynamic="false"/>
</node>
<node id="INVOKEROUTE6" xsi:type="INVOKEROUTE" label="显示成功信息" enableLog="false" delable="true" editable="true" class="" method="showSuccessMessage" desc="显示成功信息" dynamic="false" isSystemApi="false" pilejscode="" stubconfig="" routeNode="">
<sourceConnections>
<sourceConnection id="lnk112" xsi:type="TRANSACTIONCONNECTION" sourceNode="INVOKEROUTE6" targetNode="INVOKEROUTE7" label="" routeName="S" routeIndex="1" default="TRUE" order="2147483647">
<description></description>
<point x="0" y="0"/>
<point x="100" y="100"/>
<condition>true</condition>
</sourceConnection>
</sourceConnections>
<targetConnections>
<tartetConnection type="TRANSACTIONCONNECTION">lnk113</tartetConnection>
</targetConnections>
<description>显示成功信息</description>
<rectangle x="185" y="270" width="150" height="38"/>
<labelRectangle x="185" y="270" width="150" height="38"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
<parameter name="sMessage" type="String" primitiveType="FALSE" mode="IN" value="getLanguageInfo("ECD0088","交易处理成功")" defaultvalue="" dimension="0" desc="信息" paratype="" busitype="" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<parameter name="bMask" type="String" primitiveType="FALSE" mode="IN" value="true" defaultvalue="true" dimension="0" desc="是否显示遮罩层" paratype="boolean" busitype="context" inputtype="list" listid="bTrueFalse" paravaltype="" paraFilePath="" interfacedata=""/>
<route name="S" desc="确定" exception="false" dynamic="false"/>
<route name="E" desc="异常" exception="true" dynamic="false"/>
</node>
<node id="INVOKEROUTE7" xsi:type="INVOKEROUTE" label="结束交易" enableLog="false" delable="true" editable="true" class="" method="submitTask" desc="结束交易" dynamic="false" isSystemApi="false" pilejscode="" stubconfig="" routeNode="">
<sourceConnections>
<sourceConnection id="lnk114" xsi:type="TRANSACTIONCONNECTION" sourceNode="INVOKEROUTE7" targetNode="END0" label="" routeName="S" routeIndex="1" default="TRUE" order="2147483647">
<description></description>
<point x="0" y="0"/>
<point x="100" y="100"/>
<condition>true</condition>
</sourceConnection>
</sourceConnections>
<targetConnections>
<tartetConnection type="TRANSACTIONCONNECTION">lnk112</tartetConnection>
</targetConnections>
<description>结束交易</description>
<rectangle x="185" y="344" width="150" height="38"/>
<labelRectangle x="185" y="344" width="150" height="38"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
<route name="S" desc="确定" exception="false" dynamic="false"/>
<route name="E" desc="异常" exception="true" dynamic="false"/>
</node>
<node id="END0" xsi:type="END" label="" enableLog="false" delable="true" editable="true" autoRecall="true" routeName="S">
<targetConnections>
<tartetConnection type="TRANSACTIONCONNECTION">lnk114</tartetConnection>
</targetConnections>
<description>结束0</description>
<rectangle x="249" y="424" width="32" height="32"/>
<labelRectangle x="249" y="457" width="33" height="17"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
</node>
<node id="INVOKEROUTE8" xsi:type="INVOKEROUTE" label="交易通讯" enableLog="false" delable="true" editable="true" class="RdpFlowComponentSys/component/platext/doConnect/" method="doConnect" desc="交易通讯" dynamic="false" isSystemApi="false" pilejscode="" stubconfig="" routeNode="">
<sourceConnections>
<sourceConnection id="lnk113" xsi:type="TRANSACTIONCONNECTION" sourceNode="INVOKEROUTE8" targetNode="INVOKEROUTE6" label="" routeName="S" routeIndex="1" default="TRUE" order="2147483647">
<description></description>
<point x="173" y="235"/>
<point x="173" y="259"/>
<point x="261" y="259"/>
<point x="261" y="269"/>
<condition>true</condition>
</sourceConnection>
</sourceConnections>
<targetConnections>
<tartetConnection type="TRANSACTIONCONNECTION">lnk111</tartetConnection>
</targetConnections>
<description>交易通讯</description>
<rectangle x="120" y="197" width="290" height="38"/>
<labelRectangle x="120" y="197" width="290" height="38"/>
<logMessageBefore></logMessageBefore>
<logMessageAfter></logMessageAfter>
<parameter name="submitTaskId" type="String" primitiveType="FALSE" mode="IN" value=""5221"" defaultvalue="" dimension="0" desc="通讯码" paratype="" busitype="communicationcode" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<parameter name="returnValue" type="String" primitiveType="FALSE" mode="OUT" value="" defaultvalue="" dimension="0" desc="交易对象" paratype="" busitype="" inputtype="" listid="" paravaltype="" paraFilePath="" interfacedata=""/>
<route name="S" desc="成功" exception="false" dynamic="false"/>
<route name="A" desc="授权" exception="false" dynamic="false"/>
<route name="C" desc="收费" exception="false" dynamic="false"/>
<route name="M" desc="提示信息" exception="false" dynamic="false"/>
<route name="W" desc="警告信息" exception="false" dynamic="false"/>
<route name="O" desc="其他错误" exception="false" dynamic="false"/>
<route name="E" desc="异常" exception="true" dynamic="false"/>
</node>
</flow>