나는 다음과 같은 XML 파일이 :XmlTextReader는 문제
<?xml version="1.0"?><!--This document contains the profiles that have been created.--><Profiles>
<Profile>
<name>One</name>
<date>Two</date>
</Profile>
<Profile>
<name>One</name>
<date>Two</date>
</Profile>
<Profile>
<name>One</name>
<date>Two</date>
</Profile>
</Profiles>
문제는 내가하여 XmlTextReader를 사용하는 경우, 그것은 첫 번째 프로파일을 읽고 두 번째와 세 번째를 무시한다는 것입니다.
public ArrayList ReadProfiles() {
ArrayList result = new ArrayList();
Hashtable currentProfile = null;
string currentName = "";
string currentValue = "";
XmlTextReader textReader = new XmlTextReader(profilesPath);
// Read until end of file
while (textReader.Read()) {
switch(textReader.NodeType) {
case XmlNodeType.Text: {
currentValue = textReader.Value;
Debug.Log("found text = " + currentValue);
}
break;
case XmlNodeType.Element: {
currentName = textReader.Name;
switch(currentName) {
case "Profiles":
Debug.Log("found profiles");
break;
case "Profile":
Debug.Log("found profile");
break;
case "name":
Debug.Log("found name");
break;
case "date":
Debug.Log ("found date");
break;
default:
Debug.Log("default in");
break;
}
}
break;
case XmlNodeType.Comment:
Debug.Log("found comment");
break;
case XmlNodeType.EndElement:
Debug.Log("found end element" + textReader.Name.ToString());
break;
default:
Debug.Log("default out");
break;
}
}
textReader.Close();
return result;
}
그래서 얻을 : 정확히 동일한 코드 및 데이터를 내 테스트에서 alt text http://www.freeimagehosting.net/uploads/deee5af3f3.jpg
나는 당신이보고있는 것과 같은 행동을 보지 못합니다. Debug.Log -> Console.WriteLine이라는 작은 변경을 한 코드를 복사하고 프로파일이 세 번 읽히는 것을 봅니다. 읽고있는 파일을 읽고 계십니까? while 문의 맨 위에있는 textReader.ReadOuterXml()을 사용하여 읽고있는 파일의 내용을 정확히 확인하십시오. – btlog