0

データを xml 形式で保存するプロジェクトに取り組んでいます。データに二重引用符を保存できません。二重引用符を " に置き換えようとしましたが、うまくいきませんでした。これを達成する方法を提案してください。

以下は、私が渡しているxmlデータです

<question HasOptions="0" answer=""I think ki I am vulnerable"...text check // "i am afraid"" QuestionId="2042" OptionId="1260" ></question>

XML作成のための私のJavaScriptコード

function GetXMLForPosting() {

        // here is the XML for posting

        var xmlqQuestionResponse = '<question HasOptions="{{hasOptions}}" answer="{{score}}" QuestionId="{{questionID}}" OptionId="{{optionID}}" />';
        var answers = '';
        //lopping through questions
        $('.little_text').each(function () {

            // question data
            hasOptions = $(this).attr('hasoptions');
            questionID = $(this).attr('questionid');

            // option data
            selectedOption = $(this).find('input[name=radio_' + questionID + ']:checked');
            score = $(selectedOption).attr('value');
            optionID = $(selectedOption).attr('id');

            // end
            if (questionID > 0) {

                if (hasOptions == 0) {
                    // case of textarea
                    // overiding default values
                    selectedOption = $(this).find('textarea[name=radio_' + questionID + ']');
                    score = $(selectedOption).val();
                    optionID = '1260';
                    answers = answers + xmlqQuestionResponse
                            .replace('{{hasOptions}}', hasOptions)
                            .replace('{{score}}', score.replace(/\'/g, "\'"))
                            .replace('{{questionID}}', questionID)
                            .replace('{{optionID}}', optionID);
                }
                else {
                    // normal radio button
                    answers = answers + xmlqQuestionResponse
                            .replace('{{hasOptions}}', hasOptions)
                            .replace('{{score}}', score)
                            .replace('{{questionID}}', questionID)
                            .replace('{{optionID}}', optionID);
                }

            }

        });

        //console.log('<questions>' + answers + '</questions>');
        return '<questions>' + answers + '</questions>';

    }

ここで私の答えはスコアオプションに来ています

私のcsコード

[HttpPost]
    public ActionResult Postback(FormCollection formCollection)
    {
        // Process the take questionnaire
        var model = (WorkflowMessage)Session[Enumerations.SessionItems.ViewModel];

        // Check the page guid redirect accoringly
        if (!GuidValid())
            return ReshowPage();

        var rawData = formCollection[Enumerations.FlashVariableFormPostKey.OutputData];
        var enc = Encoding.GetEncoding("ISO-8859-1");
        var responseXml = HttpUtility.UrlDecode(rawData, enc);
        // redundant variable left so that at debug time the result can be inspected.
        var result = new QuestionnaireService().SaveTakenQuestionnaire(PatientSessionDataObject.TreatmentId, model.PatientId, PatientSessionDataObject.CustomerId, model.AssetData, rawData);

        return RedirectToAction("Next", "Treatment", new { navigationChosen = "Next", area = string.Empty, model.PageCheckGuid });
    }

テキストを保存する方法を提案してください-「私は脆弱だと思います」...テキストチェック//「私は恐れています」を回答フィールドに入力してください。ありがとう

4

1 に答える 1

0

を使用する必要があります&quot;

あなたの例では...

<question HasOptions="0" answer="&quot;I think ki I am vulnerable&quot;...text check // &quot;i am afraid&quot;" QuestionId="2042" OptionId="1260" ></question>
于 2015-05-01T12:24:32.297 に答える