이 구조의 XML 파일이 있습니다. 노드 "설정"은 한 번만 반복됩니다. "미리 알림"노드는 + 1 번 나타날 수 있습니다.C#을 사용하여 파일에서 XML 파일 읽기
<?xml version="1.0" encoding="utf-8"?>
<!--Name App-->
<AllSettings>
<Settings>
<tax1>21</tax1>
<tax2>0</tax2>
</Settings>
<Reminders>
<Name>s8</Name>
<Title>xxxxx</Title>
<Content>xxxxxxxxx</Content>
<BeginTime>09/11/2012 10:00:00</BeginTime>
</Reminders>
<Reminders>
<Name>s2</Name>
<Title>zzzzzzzzz</Title>
<Content>zzzzzzzzzzz</Content>
<BeginTime>07/11/2012 13:00:00</BeginTime>
</Reminders>
</AllSettings>
하단 코드를 사용하여 "설정"노드에서 데이터를 읽을 수 있습니다. 그러나 각 노드의 "미리 알림"에서 데이터를 읽는 방법은 무엇입니까?
IsolatedStorageFileStream isoFileStream = myIsolatedStorage.OpenFile(myXmlFile, FileMode.Open);
isoFileStream.Position = 0;
XmlReader xmlReader;
xmlReader = XmlReader.Create(isoFileStream);
xmlReader.MoveToContent();
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Settings"
{
while (xmlReader.NodeType != XmlNodeType.EndElement)
{
xmlReader.Read();
if (xmlReader.Name == "tax1")
{
_tax1 = xmlReader.ReadElementContentAsString();
}
else if (xmlReader.Name == "tax2")
{
_tax2 = xmlReader.ReadElementContentAsString();
}
} // end while
}
else if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Reminders")
{
// ????
}
} // end while
미리 알림 요소의 끝 부분을 칠 때까지 내부 루프를 읽습니다. – mbeckish