次のxmlをjsonに変換しようとしているため、TS-tc-dtへのマッピングを取得する必要があります
ここにXMLがあります
<?xml version="1.0" encoding="UTF-8"?>
<TestScenario>
<TestSuite name="TS_EdgeHome">
<TestCaseName name="tc_Login">dt_EdgeCaseHome,dt_EdgeCaseRoute</TestCaseName>
<TestCaseName name="tc_Logout">dt_EdgeCaseRoute</TestCaseName>
</TestSuite>
<TestSuite name="TS_EdgePanel">
<TestCaseName name="tc_AddContract">dt_EdgeCaseHome,dt_EdgeCaseSpectrum</TestCaseName>
</TestSuite>
<TestSuite name="TS_EdgeRoute">
<TestCaseName name="tc_VerifyContract">dt_EdgeCaseRoute</TestCaseName>
<TestCaseName name="tc_Payment">dt_EdgeCaseRoute</TestCaseName>
</TestSuite>
<TestSuite name="TS_EdgeSpectrum">
<TestCaseName name="tc_ClientFeedback">dt_EdgeCaseSpectrum</TestCaseName>
</TestSuite>
</TestScenario>
NodeJSでこれを実現するにはどうすればよいですか?
xMLファイルがある場合は、nodejsでfs
を使用してそのXMLファイルを読み取ることができ、「xml2json」npmパッケージを使用できます。
const parser = require('xml2json');
const fs = require("fs")
fs.readFile(uploadedFilePath, function(err,data){
if(err) {
return res.send({message:err});
} else {
jsonfile = JSON.parse(parser.toJson(data,{reversible: true}));
}
});
Cruftless 一致させるデータ構造に「注釈を付ける」ことができ、同じデータのJSON表現にバインドする方法を指定できます。
したがって、次のようにテンプレートを定義すると、
<TestScenario>
<TestSuite name="{{name}}"><!--suites|array-->
<TestCaseName name="{{name}}">{{data}}</TestCaseName><!--cases|array-->
</TestSuite>
</TestScenario>
次に、そこから作成されたオブジェクトに対して.fromXML
を呼び出し、解析するXMLを渡すと、次のようになります。
{
suites: [
{ name: 'tc_Logout', data: 'dt_EdgeCaseRoute' },
{
name: 'tc_AddContract',
data: 'dt_EdgeCaseHome,dt_EdgeCaseSpectrum'
},
{ name: 'tc_Payment', data: 'dt_EdgeCaseRoute' },
{ name: 'tc_ClientFeedback', data: 'dt_EdgeCaseSpectrum' }
]
}