Опишу чуть-чуть задачу поставленную мне.
Есть WebService в который отправляют xml файл вероятно пока просто в папку кладут, потом вероятно запускается запрос на его обработку
Сам xml файл:
<?xml version="1.0" encoding="UTF-8"?> <ns1:inputRegistry xmlns:ns1="http://xmlns.cits/acc/01/01" xmlns="http://xmlns.cits/acc/01/01"> <ns1:payment> <ns1:SEGMENT2></ns1:SEGMENT2> <ns1:SEGMENT3></ns1:SEGMENT3> <ns1:SEGMENT4></ns1:SEGMENT4> <ns1:ATTRIBUTE1> 2011-03-14T11:55:42</ns1:ATTRIBUTE1> <ns1:ATTRIBUTE2> 2011-03-14T11:55:42</ns1:ATTRIBUTE2> <ns1:ATTRIBUTE31/> <ns1:ATTRIBUTE3></ns1:ATTRIBUTE3> <ns1:ATTRIBUTE4></ns1:ATTRIBUTE4> <ns1:ATTRIBUTE5></ns1:ATTRIBUTE5> <ns1:ATTRIBUTE6></ns1:ATTRIBUTE6> <ns1:ATTRIBUTE8></ns1:ATTRIBUTE8> <ns1:ATTRIBUTE11></ns1:ATTRIBUTE11> <ns1:ENTERED_DR>10000</ns1:ENTERED_DR> <ns1:KEYCODE/> <ns1:VO>7</ns1:VO> </ns1:payment> <ns1:date>2011-03-14T11:55:42</ns1:date> </ns1:inputRegistry>
Листинг скрипта
function Main()
{
UserForms.RegGen.ShowModal();
}
function RegGen_cxButtonGen_OnClick(Sender)
{
var kno = [101, 301, 3001, 3010, 3020];
var kbk = [104102, 104301, 104302, 104402];
var r2 = Math.floor(Math.random()*((kno.length)-1));
var r4 = Math.floor(Math.random()*((kbk.length)-1));
var seg2 = kno[r2];
var seg4 = kbk[r4];
if (UserForms.RegGen.Segment2Random.Checked)
UserForms.RegGen.Segment2.Text(seg2)
if (UserForms.RegGen.Segment4Random.Checked)
UserForms.RegGen.Segment4.Text(seg4)
}
function RegGen_cxButtonSave_OnClick(Sender)
{
var seg2tx = UserForms.RegGen.Segment2.Text;
var seg3tx = UserForms.RegGen.CodRadioGroup.Caption;
var seg4tx = UserForms.RegGen.Segment4.Text;
//var att1tx = UserForms.RegGen.ATTRIBUTE1.Date;
var objXML = new ActiveXObject("Microsoft.XMLDOM");
objXML.async = false;
objXML.load(XML.XmlRegistry.Document);
var segment2 = objXML.selectSingleNode("//ns1:SEGMENT2");
var segment3 = objXML.selectSingleNode("//ns1:SEGMENT3");
var segment4 = objXML.selectSingleNode("//ns1:SEGMENT4");
//var attribute1 = objXML.selectSingleNode("//ns1:ATTRIBUTE1");
segment2.text=seg2tx;
segment3.text=seg3tx;
segment4.text=seg4tx;
//attribute1.text=att1tx;
//Log.Message(att1tx)
var count = UserForms.RegGen.SpinEditCount.Value;
var i = 1;
var flname = UserForms.RegGen.FileNameEdit.Text;
if (UserForms.RegGen.FileNameEdit.Text != ""){
while (i <= count) {
objXML.save("C:\\"+flname+i+".xml")
i++;
}
ShowMessage("Файлы " + flname + i +".xml " + "успешно сохранент")
}
else
ShowMessage("Не введено имя файла");
}
function RegGen_cxRadioGroup2_OnChange(Sender)
{
if (UserForms.RegGen.CodRadioGroup.ItemIndex == 0)
UserForms.RegGen.CodRadioGroup.Caption = "000000000"
else
if (UserForms.RegGen.CodRadioGroup.ItemIndex == 1)
UserForms.RegGen.CodRadioGroup.Caption = "019999999"
else
if (UserForms.RegGen.CodRadioGroup.ItemIndex == 2)
UserForms.RegGen.CodRadioGroup.Caption = "021999999"
else
UserForms.RegGen.CodRadioGroup.Caption = "022999999"
}
function RegGen_cxButton1_OnClick(Sender)
{
cDefaultHelloWorldResult = 'Hello World';
//Log.Message("Test of the HelloWorld method.");
// Call the HelloWorld method of the tested web service
var Str = WebServices.WebService2.HelloWorld();
// Post the results of the call to the log
Log.Message("HelloWorld result: " + Str);
// Check the results
if (Str == cDefaultHelloWorldResult)
Log.Message("HelloWorld returned the expected result.")
else
Log.Error("HelloWorld returned incorrect result.");
}
function RegGen_cxButton2_OnClick(Sender)
{
//var res = WebServices.Registry.execute()
////var resultValue = WebServices.Registry.execute(XML.XmlCheckpoint1);
//ShowMessage(resultValue);
//ShowMessage(res);
/*
var Str = WebServices.Registry.execute();
Log.Message(Str)
if (Str == execute)
Log.Message("Ok")
else
Log.Message("Not");
*/
}
function RegGen_OnShow(Sender)
{
//UserForms.RegGen.cxDateEdit1.Date(aqDateTime.Today());
}
function RegGen_cxButtonEdit2_OnButtonClick(Sender, AButtonIndex)
{
UserForms.RegGen.SaveDialog1.Execute();
}
function RegGen_FileNameEdit_OnButtonClick(Sender, AButtonIndex)
{
UserForms.RegGen.SaveDialog1.Execute();
}Вот сейчас основная проблема это реализовать: если указываем количество n "реестров" напримет: то выходной xml будет имень структуру
<?xml version="1.0" encoding="UTF-8"?> <ns1:inputRegistry xmlns:ns1="http://xmlns.cits/acc/01/01" xmlns="http://xmlns.cits/acc/01/01"> <ns1:payment> <ns1:SEGMENT2></ns1:SEGMENT2> ........................................ <ns1:VO>7</ns1:VO> </ns1:payment> <ns1:date>2011-03-14T11:55:42</ns1:date> </ns1:inputRegistry>Извените за бредовое описание задачи, но я в отчаиние deadline подступает!!

