Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
swiftMtMx
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
isc-v3.1-tmp
swiftMtMx
Commits
793c4e7a
Commit
793c4e7a
authored
Sep 15, 2022
by
chengzhuoshen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码,减少转换消耗时间
parent
12966dab
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
214 additions
and
35 deletions
+214
-35
AbstractMx2MtCreator.java
...java/com/brilliance/swift/mx2mt/AbstractMx2MtCreator.java
+6
-16
MxPacs00800108.xml
swiftCore/src/main/resources/swiftXml/MxPacs00800108.xml
+5
-0
MxPacs00900108.xml
swiftCore/src/main/resources/swiftXml/MxPacs00900108.xml
+1
-0
camt02900109.txt
swiftCore/src/main/resources/xmlPathIgnore/camt02900109.txt
+11
-2
camt05200108.txt
swiftCore/src/main/resources/xmlPathIgnore/camt05200108.txt
+8
-0
camt05300108.txt
swiftCore/src/main/resources/xmlPathIgnore/camt05300108.txt
+13
-0
camt05400108.txt
swiftCore/src/main/resources/xmlPathIgnore/camt05400108.txt
+9
-0
camt05600108.txt
swiftCore/src/main/resources/xmlPathIgnore/camt05600108.txt
+12
-2
camt05700106.txt
swiftCore/src/main/resources/xmlPathIgnore/camt05700106.txt
+4
-0
camt06000105.txt
swiftCore/src/main/resources/xmlPathIgnore/camt06000105.txt
+3
-0
pacs00200110.txt
swiftCore/src/main/resources/xmlPathIgnore/pacs00200110.txt
+8
-2
pacs00400109.txt
swiftCore/src/main/resources/xmlPathIgnore/pacs00400109.txt
+9
-0
pacs00800108.txt
swiftCore/src/main/resources/xmlPathIgnore/pacs00800108.txt
+9
-0
pacs00900108.txt
swiftCore/src/main/resources/xmlPathIgnore/pacs00900108.txt
+9
-2
Mx2MtTest.java
swiftCore/src/test/java/com/brilliance/Mx2MtTest.java
+107
-11
No files found.
swiftCore/src/main/java/com/brilliance/swift/mx2mt/AbstractMx2MtCreator.java
View file @
793c4e7a
...
...
@@ -184,19 +184,9 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
}
list
=
newList
;
newList
=
new
ArrayList
<>();
//根据AppHdr@xmlns获取版本对应的xsd文件
String
appHdrXsdName
=
null
;
Optional
<
String
>
namespace
=
NamespaceReader
.
findAppHdrNamespace
(
xml
);
if
(
namespace
.
isPresent
())
{
MxId
appHdrMxId
=
new
MxId
(
namespace
.
get
());
appHdrXsdName
=
appHdrMxId
.
getBusinessProcess
().
name
()
+
appHdrMxId
.
getFunctionality
()
+
appHdrMxId
.
getVariant
()
+
appHdrMxId
.
getVersion
();
}
//根据Document@xmlns获取版本对应的xsd文件
String
documentXsdName
=
""
;
namespace
=
NamespaceReader
.
findDocumentNamespace
(
xml
);
Optional
<
String
>
namespace
=
NamespaceReader
.
findDocumentNamespace
(
xml
);
if
(
namespace
.
isPresent
())
{
MxId
documentMxId
=
new
MxId
(
namespace
.
get
());
documentXsdName
=
documentMxId
.
getBusinessProcess
().
name
()
...
...
@@ -214,7 +204,7 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
String
tmpPath
=
path
.
replaceAll
(
"\\([0-9]+\\)"
,
""
);
boolean
includeFlag
=
false
;
for
(
String
ignorePath
:
ingorePaths
)
{
if
(
tmpPath
.
indexOf
(
ignorePath
)
>
-
1
)
{
if
(
StringUtil
.
isNotEmpty
(
ignorePath
)
&&
tmpPath
.
indexOf
(
ignorePath
)
>
-
1
)
{
includeFlag
=
true
;
break
;
}
...
...
@@ -223,8 +213,8 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
newList
.
add
(
path
);
}
}
list
=
newList
;
newList
=
new
ArrayList
<>();
/*
list = newList;
newList = new ArrayList<>();
*/
}
}
catch
(
IOException
e
)
{
throw
new
SwiftException
(
e
.
getMessage
());
...
...
@@ -232,7 +222,7 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
}
//3.过滤掉必填节点值,这些值不会在错误报告中显示
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
/*
for (int i=0; i<list.size(); i++) {
String path = list.get(i);
boolean requiredFlag = false;
if (path.indexOf("AppHdr") > -1) {
...
...
@@ -243,7 +233,7 @@ public abstract class AbstractMx2MtCreator implements Mx2MtCreator {
if (!requiredFlag) {
newList.add(path);
}
}
}
*/
return
newList
;
}
...
...
swiftCore/src/main/resources/swiftXml/MxPacs00800108.xml
View file @
793c4e7a
...
...
@@ -34,6 +34,7 @@
<InstrId>
Instrid-001
</InstrId>
<EndToEndId>
e2eid/02/03/2022/001
</EndToEndId>
<UETR>
5ddd156b-ba52-4d7d-a7ea-197cf311dc19
</UETR>
<ClrSysRef>
ddd
</ClrSysRef>
</PmtId>
<IntrBkSttlmAmt
Ccy=
"EUR"
>
100.
</IntrBkSttlmAmt>
<IntrBkSttlmDt>
2022-03-04+01:00
</IntrBkSttlmDt>
...
...
@@ -59,6 +60,7 @@
<InstdAgt>
<FinInstnId>
<BICFI>
AABBIE2X
</BICFI>
<LEI>
123456789
</LEI>
</FinInstnId>
</InstdAgt>
<Dbtr>
...
...
@@ -91,6 +93,9 @@
<Ctry>
US
</Ctry>
</PstlAdr>
</Cdtr>
<RgltryRptg>
<DbtCdtRptgInd>
CRED
</DbtCdtRptgInd>
</RgltryRptg>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
...
...
swiftCore/src/main/resources/swiftXml/MxPacs00900108.xml
View file @
793c4e7a
...
...
@@ -50,6 +50,7 @@ Change Log
<InstrId>
pacs9bizmsgidr02
</InstrId>
<EndToEndId>
pacs9bizmsgidr01
</EndToEndId>
<UETR>
8a562c67-ca16-48ba-b074-65581be6f001
</UETR>
<ClrSysRef>
123
</ClrSysRef>
</PmtId>
<IntrBkSttlmAmt
Ccy=
"CAD"
>
2565972
</IntrBkSttlmAmt>
<IntrBkSttlmDt>
2021-04-27
</IntrBkSttlmDt>
...
...
swiftCore/src/main/resources/xmlPathIgnore/camt02900109.txt
View file @
793c4e7a
AppHdr
CxlDtls.TxInfAndSts.RslvdCase.Cretr.Pty
CxlDtls.TxInfAndSts.RslvdCase.Cretr.Agt
\ No newline at end of file
CxlDtls.TxInfAndSts.RslvdCase.Cretr.Agt
Document.RsltnOfInvstgtn.Assgnmt.Id
Document.RsltnOfInvstgtn.Assgnmt.Assgnr.Agt.FinInstnId.BICFI
Document.RsltnOfInvstgtn.Assgnmt.Assgne.Agt.FinInstnId.BICFI
Document.RsltnOfInvstgtn.Assgnmt.CreDtTm
Document.RsltnOfInvstgtn.Sts.Conf
Document.RsltnOfInvstgtn.CxlDtls.TxInfAndSts.CxlStsId
Document.RsltnOfInvstgtn.CxlDtls.TxInfAndSts.RslvdCase.Id
Document.RsltnOfInvstgtn.CxlDtls.TxInfAndSts.OrgnlGrpInf.OrgnlMsgId
Document.RsltnOfInvstgtn.CxlDtls.TxInfAndSts.OrgnlGrpInf.OrgnlMsgNmId
Document.RsltnOfInvstgtn.CxlDtls.TxInfAndSts.OrgnlUETR
swiftCore/src/main/resources/xmlPathIgnore/camt05200108.txt
View file @
793c4e7a
AppHdr
Document.BkToCstmrAcctRpt.GrpHdr.MsgId
Document.BkToCstmrAcctRpt.GrpHdr.CreDtTm
Document.BkToCstmrAcctRpt.Rpt.Id
Document.BkToCstmrAcctRpt.Rpt.RptPgntn.PgNb
Document.BkToCstmrAcctRpt.Rpt.RptPgntn.LastPgInd
Document.BkToCstmrAcctRpt.Rpt.Acct.Id.IBAN
Document.BkToCstmrAcctRpt.Rpt.Acct.Id.Othr.Id
Document.BkToCstmrAcctRpt.Rpt.Acct.Ccy
swiftCore/src/main/resources/xmlPathIgnore/camt05300108.txt
View file @
793c4e7a
AppHdr
Stmt.Ntry.Sts.Cd
Document.BkToCstmrStmt.GrpHdr.MsgId
Document.BkToCstmrStmt.GrpHdr.CreDtTm
Document.BkToCstmrStmt.Stmt.Id
Document.BkToCstmrStmt.Stmt.StmtPgntn.PgNb
Document.BkToCstmrStmt.Stmt.StmtPgntn.LastPgInd
Document.BkToCstmrStmt.Stmt.Acct.Id.IBAN
Document.BkToCstmrStmt.Stmt.Acct.Id.Othr.Id
Document.BkToCstmrStmt.Stmt.Acct.Ccy
Document.BkToCstmrStmt.Stmt.Bal.Tp.CdOrPrtry.Cd
Document.BkToCstmrStmt.Stmt.Bal.Tp.CdOrPrtry.Prtry
Document.BkToCstmrStmt.Stmt.Bal.CdtDbtInd
Document.BkToCstmrStmt.Stmt.Bal.Dt.Dt
Document.BkToCstmrStmt.Stmt.Bal.Dt.DtTm
swiftCore/src/main/resources/xmlPathIgnore/camt05400108.txt
View file @
793c4e7a
AppHdr
BkTxCd
Document.BkToCstmrDbtCdtNtfctn.GrpHdr.MsgId
Document.BkToCstmrDbtCdtNtfctn.GrpHdr.CreDtTm
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Id
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Acct.Id.IBAN
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Acct.Id.Othr.Id
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Acct.Ccy
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry.NtryRef
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry.CdtDbtInd
Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry.Sts.Cd
swiftCore/src/main/resources/xmlPathIgnore/camt05600108.txt
View file @
793c4e7a
AppHdr
Undrlyg.TxInf.Case.Cretr.Pty
Undrlyg.TxInf.Case.Cretr.Agt
\ No newline at end of file
Undrlyg.TxInf.Case.Cretr.Agt
Document.FIToFIPmtCxlReq.Assgnmt.Id
Document.FIToFIPmtCxlReq.Assgnmt.Assgnr.Agt.FinInstnId.BICFI
Document.FIToFIPmtCxlReq.Assgnmt.Assgne.Agt.FinInstnId.BICFI
Document.FIToFIPmtCxlReq.Assgnmt.CreDtTm
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.Case.Id
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.OrgnlGrpInf.OrgnlMsgId
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.OrgnlGrpInf.OrgnlMsgNmId
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.OrgnlEndToEndId
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.OrgnlUETR
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.OrgnlIntrBkSttlmDt
Document.FIToFIPmtCxlReq.Undrlyg.TxInf.CxlRsnInf.Rsn.Cd
swiftCore/src/main/resources/xmlPathIgnore/camt05700106.txt
View file @
793c4e7a
AppHdr
Document.NtfctnToRcv.GrpHdr.MsgId
Document.NtfctnToRcv.GrpHdr.CreDtTm
Document.NtfctnToRcv.Ntfctn.Id
Document.NtfctnToRcv.Ntfctn.Itm.Id
swiftCore/src/main/resources/xmlPathIgnore/camt06000105.txt
View file @
793c4e7a
AppHdr
Document.AcctRptgReq.GrpHdr.MsgId
Document.AcctRptgReq.GrpHdr.CreDtTm
Document.AcctRptgReq.RptgReq.ReqdMsgNmId
swiftCore/src/main/resources/xmlPathIgnore/pacs00200110.txt
View file @
793c4e7a
AppHdr
TxInfAndSts.InstgAgt
TxInfAndSts.InstdAgt
\ No newline at end of file
TxInfAndSts.InstdAgt
Document.FIToFIPmtStsRpt.GrpHdr.MsgId
Document.FIToFIPmtStsRpt.GrpHdr.CreDtTm
Document.FIToFIPmtStsRpt.TxInfAndSts.OrgnlGrpInf.OrgnlMsgId
Document.FIToFIPmtStsRpt.TxInfAndSts.OrgnlGrpInf.OrgnlMsgNmId
Document.FIToFIPmtStsRpt.TxInfAndSts.OrgnlEndToEndId
Document.FIToFIPmtStsRpt.TxInfAndSts.OrgnlUETR
Document.FIToFIPmtStsRpt.TxInfAndSts.TxSts
swiftCore/src/main/resources/xmlPathIgnore/pacs00400109.txt
View file @
793c4e7a
AppHdr
TxInf.InstgAgt
TxInf.InstdAgt
Document.PmtRtr.GrpHdr.MsgId
Document.PmtRtr.GrpHdr.CreDtTm
Document.PmtRtr.GrpHdr.NbOfTxs
Document.PmtRtr.GrpHdr.SttlmInf.SttlmMtd
Document.PmtRtr.TxInf.OrgnlEndToEndId
Document.PmtRtr.TxInf.OrgnlUETR
Document.PmtRtr.TxInf.IntrBkSttlmDt
Document.PmtRtr.TxInf.ChrgBr
Document.PmtRtr.TxInf.RtrRsnInf.Rsn.Cd
swiftCore/src/main/resources/xmlPathIgnore/pacs00800108.txt
View file @
793c4e7a
...
...
@@ -2,3 +2,12 @@ AppHdr
CdtTrfTxInf.InstgAgt
CdtTrfTxInf.InstdAgt
CdtTrfTxInf.ChrgsInf.Agt
Document.FIToFICstmrCdtTrf.GrpHdr.MsgId
Document.FIToFICstmrCdtTrf.GrpHdr.CreDtTm
Document.FIToFICstmrCdtTrf.GrpHdr.NbOfTxs
Document.FIToFICstmrCdtTrf.GrpHdr.SttlmInf.SttlmMtd
Document.FIToFICstmrCdtTrf.CdtTrfTxInf.PmtId.InstrId
Document.FIToFICstmrCdtTrf.CdtTrfTxInf.PmtId.EndToEndId
Document.FIToFICstmrCdtTrf.CdtTrfTxInf.PmtId.UETR
Document.FIToFICstmrCdtTrf.CdtTrfTxInf.IntrBkSttlmDt
Document.FIToFICstmrCdtTrf.CdtTrfTxInf.ChrgBr
swiftCore/src/main/resources/xmlPathIgnore/pacs00900108.txt
View file @
793c4e7a
AppHdr
CdtTrfTxInf.InstgAgt
CdtTrfTxInf.InstdAgt
\ No newline at end of file
CdtTrfTxInf.InstdAgt
Document.FICdtTrf.GrpHdr.MsgId
Document.FICdtTrf.GrpHdr.CreDtTm
Document.FICdtTrf.GrpHdr.NbOfTxs
Document.FICdtTrf.GrpHdr.SttlmInf.SttlmMtd
Document.FICdtTrf.CdtTrfTxInf.PmtId.InstrId
Document.FICdtTrf.CdtTrfTxInf.PmtId.EndToEndId
Document.FICdtTrf.CdtTrfTxInf.PmtId.UETR
Document.FICdtTrf.CdtTrfTxInf.IntrBkSttlmDt
swiftCore/src/test/java/com/brilliance/Mx2MtTest.java
View file @
793c4e7a
...
...
@@ -2,15 +2,25 @@ package com.brilliance;
import
com.brilliance.swift.SwiftTransfer
;
import
com.brilliance.swift.constants.Mx2MtConstants
;
import
com.brilliance.swift.mx2mt.AbstractMx2MtCreator
;
import
com.brilliance.swift.vo.SwiftTranslationErrorInfo
;
import
com.brilliance.swift.vo.SwiftTranslationReport
;
import
com.brilliance.swift.vo.common.ExternalCreditorAgentInstructionCode
;
import
org.apache.commons.io.FileUtils
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.Element
;
import
org.dom4j.Node
;
import
org.dom4j.io.SAXReader
;
import
org.junit.Test
;
import
java.io.BufferedWriter
;
import
java.io.File
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.util.*
;
import
java.net.URL
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
...
...
@@ -124,16 +134,13 @@ public class Mx2MtTest {
}
@Test
public
void
testMx2MtMap
()
throws
IOException
{
File
file
=
FileUtils
.
toFile
(
Mx2MtTest
.
class
.
getResource
(
"/swiftXml/MxPacs00800108.xml"
));
String
xmlStr
=
FileUtils
.
readFileToString
(
file
);
Map
<
String
,
String
>
maps
=
SwiftTransfer
.
mx2MtMap
(
xmlStr
,
null
);
for
(
String
key
:
maps
.
keySet
())
{
System
.
out
.
println
(
key
+
"="
+
maps
.
get
(
key
));
}
public
void
testXmlFilePath
()
{
SwiftTranslationReport
str
=
SwiftTransfer
.
mx2MtPlus
(
"d:/test/MxPacs00800108.xml"
,
true
,
null
,
null
);
System
.
out
.
println
(
str
.
getMessage
());
}
/*@Test
@Test
public
void
testSwiftFile
()
{
try
{
File
file
=
FileUtils
.
toFile
(
Mx2MtTest
.
class
.
getResource
(
"/swiftXml/test.xml"
));
...
...
@@ -163,5 +170,94 @@ public class Mx2MtTest {
e
.
printStackTrace
();
}
}
*/
@Test
public
void
test
()
{
String
tagName
=
"445566/TELB/123/HOLD/456456/PHOB/1123/HOLD/789/UDLC/yyy/HOLD/xxx/TELB/qqq"
;
String
regex
=
"([/(UDLC|PHOB|TELB)/]{1}[0-9a-zA-Z/\\-\\?:\\(\\)\\.,'\\+]*)"
;
Pattern
p
=
Pattern
.
compile
(
regex
);
Matcher
m
=
p
.
matcher
(
tagName
);
while
(
m
.
find
()){
String
str
=
m
.
group
(
1
);
//System.out.println(str);
}
tagName
=
"123/UDLC/123/PHOB/456"
;
String
[]
strs
=
tagName
.
split
(
"(?=/UDLC/|/TELB/|/PHOB/)"
);
System
.
out
.
println
(
strs
[
0
]);
String
tmpPath
=
"Document/FIToFICstmrCdtTrf/CdtTrfTxInf/ChrgsInf(1)/Amt"
.
replaceAll
(
"\\([0-9]+\\)"
,
""
);
System
.
out
.
println
(
tmpPath
);
System
.
out
.
println
(
"60"
.
matches
(
"50[CK]?"
));
}
/**
* 找到xsd中所有节点都是必填的PATH放到map中
* @param prefixPath
* @param nodeList
* @param list
*/
private
void
buildPath
(
String
prefixPath
,
List
nodeList
,
List
<
String
>
list
)
{
for
(
int
i
=
0
;
i
<
nodeList
.
size
();
i
++)
{
Element
e
=
(
Element
)
nodeList
.
get
(
i
);
String
type
=
e
.
attributeValue
(
"type"
);
List
nodeList1
=
e
.
selectNodes
(
"//xs:simpleType[@name='"
+
type
+
"']"
);
if
(
"0"
.
equals
(
e
.
attributeValue
(
"minOccurs"
)))
{
continue
;
}
if
(
nodeList1
!=
null
&&
nodeList1
.
size
()
>
0
)
{
list
.
add
(
prefixPath
+
"."
+
e
.
attributeValue
(
"name"
));
}
else
{
nodeList1
=
e
.
selectNodes
(
"//xs:complexType[@name='"
+
type
+
"']"
);
Element
element
=
(
Element
)
nodeList1
.
get
(
0
);
nodeList1
=
element
.
selectNodes
(
".//xs:element"
);
buildPath
(
prefixPath
+
"."
+
e
.
attributeValue
(
"name"
),
nodeList1
,
list
);
}
}
}
public
void
readXsd2Txt
(
String
xsdName
)
throws
DocumentException
,
IOException
{
URL
resource
=
AbstractMx2MtCreator
.
class
.
getResource
(
"/xsd/"
+
xsdName
+
".xsd"
);
SAXReader
saxReader
=
new
SAXReader
();
Document
document
=
saxReader
.
read
(
resource
);
Element
element
=
document
.
getRootElement
();
List
<
Node
>
nodeList
=
element
.
selectNodes
(
".//xs:element[@name='Document']"
);
element
=
(
Element
)
nodeList
.
get
(
0
);
String
type
=
element
.
attributeValue
(
"type"
);
nodeList
=
element
.
selectNodes
(
"//xs:complexType[@name='"
+
type
+
"']"
);
element
=
(
Element
)
nodeList
.
get
(
0
);
nodeList
=
element
.
selectNodes
(
".//xs:element"
);
List
<
String
>
list
=
new
ArrayList
<>();
buildPath
(
"Document"
,
nodeList
,
list
);
File
file
=
new
File
(
System
.
getProperty
(
"user.dir"
)+
"\\src\\main\\resources\\xmlPathIgnore\\"
+
xsdName
+
".txt"
);
List
<
String
>
orgList
=
FileUtils
.
readLines
(
file
);
orgList
.
addAll
(
list
);
FileWriter
fw
=
new
FileWriter
(
file
);
BufferedWriter
bw
=
new
BufferedWriter
(
fw
);
for
(
String
str
:
orgList
)
{
bw
.
write
(
str
);
bw
.
newLine
();
}
bw
.
close
();
fw
.
close
();
}
@Test
public
void
testXsd2Txt
()
throws
DocumentException
,
IOException
{
List
<
String
>
xsdList
=
new
ArrayList
<>();
xsdList
.
add
(
"camt02900109"
);
xsdList
.
add
(
"camt05200108"
);
xsdList
.
add
(
"camt05300108"
);
xsdList
.
add
(
"camt05400108"
);
xsdList
.
add
(
"camt05600108"
);
xsdList
.
add
(
"camt05700106"
);
xsdList
.
add
(
"camt06000105"
);
xsdList
.
add
(
"pacs00200110"
);
xsdList
.
add
(
"pacs00400109"
);
xsdList
.
add
(
"pacs00800108"
);
xsdList
.
add
(
"pacs00900108"
);
for
(
String
xsdName
:
xsdList
)
{
readXsd2Txt
(
xsdName
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment