我在嘗試閱讀XML文件,但是當我閱讀它時,它只拾取我的組元素的最後一個值,而不是設置組的文本屬性每個組別的宣告休息。所有的幫助表示讚賞。當閱讀XML文件時,只獲取組元素文本的最後一個元素
public static void ReadFile()
{
string MyText = string.Empty;
string Notes = string.Empty;
string UserName = string.Empty;
string Password = string.Empty;
string Url = string.Empty;
string Title = string.Empty;
string MyGroup = string.Empty;
Group group = new Group("Hello", 0);
XmlTextReader xmlReader = new XmlTextReader("C:/KeyText.xml");
while (xmlReader.Read()) // Read nodes sequentially
{
if (xmlReader.Name == "Group" & xmlReader.NodeType.ToString() == "EndElement")
{
group.Text = MyText;
AddGroupXML(group);
}
if (xmlReader.NodeType == XmlNodeType.Element)
{
if (xmlReader.LocalName == "Text")
{
MyText = xmlReader.ReadString();
}
if (xmlReader.LocalName == "Notes")
{
Notes = xmlReader.ReadString();
}
if (xmlReader.LocalName == "UserName")
{
UserName = xmlReader.ReadString();
}
if (xmlReader.LocalName == "Password")
{
Password = xmlReader.ReadString();
}
if (xmlReader.LocalName == "Url")
{
Url = xmlReader.ReadString();
}
if (xmlReader.LocalName == "Title")
{
Title = xmlReader.ReadString();
}
}
if (xmlReader.Name == "Key" & xmlReader.NodeType.ToString() == "EndElement")
{
Key MyKey = new Key();
MyKey.Notes = Notes;
MyKey.Title = Title;
MyKey.UserName = UserName;
MyKey.Url = Url;
MyKey.Password = Password;
group.Keys.Add(MyKey);
}
}
xmlReader.Close();
GroupsRead.Invoke();
}
XML:
<?xml version="1.0"?>
<Groups>
<Group>
<ImageIndex>0</ImageIndex>
<Text>wcwpgcuotlx</Text>
<Keys>
<Dog/>
<Key>
<Notes>4ktaiyduner</Notes>
<Password>0y2cg1kodre</Password>
<Title>a2yj4biqd5u</Title>
<Url>de2uym5vyg1</Url>
<UserName>ogcl3uyvy2r</UserName>
</Key>
<Key>
<Notes>3dmchyaqcvt</Notes>
<Password>lbgfralkng4</Password>
<Title>fnha4ienzua</Title>
<Url>n3pmk5elaso</Url>
<UserName>njk55ov4eef</UserName>
</Key>
</Keys>
</Group>
<Group>
<ImageIndex>0</ImageIndex>
<Text>vrmijzokft2</Text>
<Keys>
<Dog/>
</Keys>
</Group>
</Groups>
並非每個組都包含Key元素,但它們都包含Group元素。感謝您的建議。 – 2012-03-04 08:52:06
你的代碼似乎工作正常,它在AddGroupXML中輸入2次,使用正確的Text屬性集 – ionden 2012-03-04 08:56:45
我很害怕這一點。感謝檢查出來。 (xmlReader.Name ==「Group」&xmlReader.NodeType.ToString()==「EndElement」) – 2012-03-04 09:01:25