0

動的に生成された XML ファイルを読み取るために、C# (.Net Framework 4 with VS 2010) を使用しています。このファイルには、質問に対する回答が含まれています (MCQ ラジオ ボタン、MCQ 複数回答チェック ボックス、および単純なテキスト フィールド)。質問 ID とオプション ID はデータベースから生成されます。

質問IDと関連する回答IDを抽出するだけです。サンプル XML は次のとおりです。

<?xml version="1.0"?>
<Root>
   <!-- Radio Button Answers -->    
   <Question_6_Option>26</Question_6_Option>
   <Question_8_Option>32</Question_8_Option>
   <Question_9_Option>off</Question_9_Option>
   <!-- Check Box Answers -->
   <Question_15_Option_41>41</Question_15_Option_41>
   <Question_15_Option_42>off</Question_15_Option_42>
   <Question_16_Option_43>43</Question_16_Option_43>
   <!-- Text Box Answers -->
   <Question_23_Text>London</Question_23_Text>
</Root>

上記の XML は、次の形式で生成されます。

タグ名の形式: Question_QuestionID_SomeLogic は、回答の種類 (ラジオ、複数のオプション、またはテキスト ボックス) に基づいています。

質問値に対して未回答のユーザーは「オフ」と表示されます。それらは考慮する必要はありません。

C#から質問IDと回答値を取得するにはどうすればよいですか?

ありがとう、

チャトゥール

4

1 に答える 1

0

NOT AN ANSWERですが、XML を読みやすくするために、コメントではなくここに含めます。

XML をコンピュータで読みやすくすることができれば、つまり、タグ名からデータを削除し、それを属性に入れて解析しやすくすることをお勧めします。

<?xml version="1.0"?>
<Root>
    <!-- Radio Button Answers -->    
    <Question number="6" type="radio"><Selected index="26" /></Question>
    <Question number="8" type="radio"><Selected index="32" /></Question>
    <Question number="9" type="radio" />
    <!-- Check Box Answers -->
    <Question number="15" type="check">
        <Selected index="41" />
        <Selected index="42" /><!-- not sure if this should be included, I didn't understand how question 15 was both off (unanswered) and 41 (answered) -->
    </Question>
    <Question number="16" type="check">
        <Selected index="43" />
    </Question>
    <!-- Text Box Answers -->
    <Question number="23" type="text">London</Question>
</Root>

@NewAmbition が上で述べたように、実際の質問に対する答えは、このサイトの他の場所に既にあります。

于 2012-11-26T13:14:56.867 に答える