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