2014-02-25 2 views
-1

직렬화 후 첫 번째 질문은 xml 파일 (foreach 제외)을 얻을 수 있습니까? 라벨에 QuestionText="2*2"을, 라디오 버튼에 변형을 넣고 싶습니다.XML에서 첫 번째 특성을 얻으려면 어떻게해야합니까?

public class Question 
    { 
     [XmlAttribute ("QuestionText") ] public string qstn; 
     [XmlArrayItem("Variant")] public string[] Variants; 
     [XmlArrayItem("Answer")] public string[] Answers; 
    } 
    public class Test 
    { 
     public List<Question> Questions = new List<Question>(); 

     public void SerializeToXML(string Path) 
     { 
      XmlSerializer serializer = new XmlSerializer(typeof(Test)); 
      TextWriter textWriter = new StreamWriter(Path); 
      serializer.Serialize(textWriter, this); 
      textWriter.Close(); 
     } 

     public static Test DeserializeFromXML(string Path) 
     { 
      XmlSerializer deserializer = new XmlSerializer(typeof (Test)); 
      TextReader textReader = new StreamReader(Path); 
      Test test; 
      test = (Test) deserializer.Deserialize(textReader); 
      textReader.Close(); 
      return test; 
     } 

내 XML :

<Question QuestionText="2*2"> 
    <Variants> 
    <Variant>1</Variant> 
    <Variant>4</Variant> 
    <Variant>5</Variant> 
    </Variants> 
    <Answers> 
    <Answer>4</Answer> 
    </Answers> 
</Question> 
<Question QuestionText="3*2"> 
    <Variants> 
    <Variant>1</Variant> 
    <Variant>4</Variant> 
    <Variant>5</Variant> 
    </Variants> 
    <Answers> 
    <Answer>4</Answer> 
    <Answer>number</Answer> 
    </Answers> 
</Question> 
<Question QuestionText="4*2"> 
    <Variants> 
    <Variant>1</Variant> 
    <Variant>8</Variant> 
    </Variants> 
    <Answers> 
    <Answer>4</Answer> 
    <Answer>somenumber</Answer> 
    <Answer>anynumber</Answer> 
    </Answers> 
</Question> 

답변

0

이 시도 ...

의 DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance();

// 공장

DocumentBuilder를 dB = dbf.newDocumentBuilder() 문서 빌더의 인스턴스를 얻을 사용;

// ("당신의 XML을") XML 파일

DOM = db.parse의 DOM 표현을 얻을 빌더를 사용하여 분석;

Element documentElement = dom.getDocumentElement();

// 직원 요소의 노드 목록을 얻을
NodeList를 employeeNodeList = documentElement.getElementsByTagName ("질문");

// 첫 번째 요소의 경우 employeeNodeList.item (0);

+0

이 C#? 돔은 무엇입니까? DocumentBuilderFactory를 참조합니까? – user3351644

+0

sory이 코드는 java에서 사용되었습니다. – user3283976

관련 문제