0
groovyでxmlファイルを読んでいますが、何が問題なのか分かりません。以下は GroovyでXmlファイルを読む
は私の関数であるdef setEnvironment(Map env,Map params)
{
def records=new XmlSlurper().parse(env.get("ABC_HOME")+"/isp/config/nodemeta.xml")
def jdbcurl=records.'domainservice:DBConnectivity'[0][email protected]
params.put("dn", records.'domainservice:GatewayNodeConfig'[0][email protected])
params.put("dh", records.'domainservice:GatewayNodeConfig'[0].'address'[0][email protected])
params.put("dp", records.'domainservice:GatewayNodeConfig'[0].'address'[0][email protected])
params.put("u", records.'domainservice:DBConnectivity'[0][email protected])
if(jdbcurl==null||jdbcurl.size()==0)
{
params.put("tns", records.'domainservice:DBConnectivity'[0][email protected])
}
else
{
params.put("tns", jdbcurl.find("(?<=%2F%2F)[\\d\\w_]+"))
}
println params
}
マイ出力
[pd:admin, u:, tns:, dh:, dn:, dp:, un:admin, x:c1164035531]
私のXml
<?xml version="1.0" encoding="UTF-8"?>
<imx:IMX xmlns:imx="http://com.abc.imx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" serializationSpecVersion="4.0" crcEnabled="0" xmlns:domainservice="http://com.abc.isp.metadata.domainservice/2" versiondomainservice="2.4.1" xmlns:common="http://com.abc.isp.metadata.common/2" versioncommon="2.2.0" xsi:schemaLocation="http://com.abc.imx IMX.xsd http://com.abc.isp.metadata.domainservice/2 com.abc.isp.metadata.domainservice.xsd http://com.abc.isp.metadata.common/2 com.abc.isp.metadata.common.xsd">
<domainservice:GatewayNodeConfig imx:id="U:LtWHxY0ZEeGb2FwhP-xoGw" adminconsolePort="15533" adminconsoleShutdownPort="38207" domainName="D_1035531" nodeName="N_1035531" dbConnectivity="ID_1">
<address imx:id="ID_2" xsi:type="common:NodeAddress" host="absdie" httpPort="1531" port="1532"/>
<portals>
<NodeRef imx:id="ID_3" xsi:type="common:NodeRef" address="ID_2" nodeName="N_1035531"/>
</portals>
</domainservice:GatewayNodeConfig>
<domainservice:DBConnectivity imx:id="ID_1" dbEncryptedPassword="ZmTXZDoYq0TyrU7fSaS9BrAlIuZyS2rw%2FafW1TLWE4g%3D" dbHost="fortuner" dbName="ORCL" dbPort="1521" dbType="ORACLE" dbUsername="zx1649355388"/>
</imx:IMX>
注:PD & xがマップに既に存在している
あなたが...ただ、ノード名の名前空間の一部を取り除くために
感謝を(だけでなく、よりGroovyのマップ管理に注意してください)名前空間を処理していますか?また、 '(Groovyのマップ管理についても)'とはどういう意味ですか? – abi1964
@AbhishekSimon Cool :-)私は 'params.put( 'dn'、XXX)'ではなく 'params.dn = XXX'を呼び出す方がより慣れ親しんでいることを意味しています –