0

複数選択問題のある LMS クイズから通常の xml を QTIv2.0 準拠の XML に変換する方法を探しています。Web を検索したところ、XSLT が可能なオプションであることがわかりました。5 か月前にコーディングの学習を始めたばかりで、変換の方法に関するヘルプまたはガイダンスを探しています。

XSLT を提案しましたが、受け入れられませんでした。XML ファイルを変換するドット ネット コードを書いています。

このサンプルをベースにしています。

プライベート静的文字列 XmlParamsWriterForLogin(文字列 headerId, 文字列 courseType, 文字列 scheduleID, 文字列 courseId, 文字列 nric, 文字列 出席, 文字列 結果, 文字列 スコア) { using (var sw = new StringWriter()) { using (var xw = XmlWriter.Create( sw)) { xw.WriteStartDocument();

                // start dataInterface
                xw.WriteStartElement("dataInterface");

                // start header
                xw.WriteStartElement("header");

                xw.WriteElementString("id", headerId);

                xw.WriteElementString("from", "LMS");

                xw.WriteElementString("to", "FMS");

                xw.WriteElementString("interfaceType", "LMS_FMS_STORE_CLASS_RESULT");

                xw.WriteElementString("sentTime", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

                xw.WriteElementString("numOfEntries", "1");

                xw.WriteElementString("deliveryMode", "Synchronously");

                xw.WriteElementString("concurrency", "False");

                // end header
                xw.WriteEndElement();

                // start content
                xw.WriteStartElement("content");

                // start contentItem
                xw.WriteStartElement("contentItem");

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "courseType");
                xw.WriteElementString("fieldValue", courseType);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "scheduleID");
                xw.WriteElementString("fieldValue", scheduleID);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "courseID");
                xw.WriteElementString("fieldValue", courseId);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "nric");
                xw.WriteElementString("fieldValue", nric);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "attendance");
                xw.WriteElementString("fieldValue", attendance);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "result");
                xw.WriteElementString("fieldValue", result);
                xw.WriteEndElement();

                xw.WriteStartElement("field");
                xw.WriteElementString("fieldName", "score");
                xw.WriteElementString("fieldValue", score);
                xw.WriteEndElement();

                // end contentItem
                xw.WriteEndElement();

                // for error
                xw.WriteStartElement("contentItem");
                xw.WriteEndElement();

                // end content
                xw.WriteEndElement();

                // end dataInterface
                xw.WriteEndElement();
                xw.WriteEndDocument();
            }

            return sw.ToString();
        }
    }

しかし、それがどのように機能するかはまだわかりません。

4

0 に答える 0