0
我序列化字典XML的正常工作和如下生成每個項目:的XMLReader讀取屬性
<Parameters>
<item key="Input" value="CLOCK_SYNC" />
<item key="Output" value="NTP_SYNC" />
<item key="TimeSpan" value="00:00:30" />
</Parameters>
但是嘗試反序列化,這是給我一些頭痛的XML閱讀器,即時通訊試圖循環通過item元素並讀取屬性,但是我無法使用下面的代碼。我曾嘗試過各種方法來遍歷,但在兩種情況下成功的,即時通訊接近只是性格解析性格,並使其工作方式但是我相信IM忽視的東西
public void ReadXml(System.Xml.XmlReader reader)
{
bool wasEmpty = reader.IsEmptyElement;
reader.MoveToContent();
if (wasEmpty)
return;
while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.MoveToAttribute("key");
string key = reader.GetAttribute("key");
reader.MoveToAttribute("value");
string value = reader.GetAttribute("value");
this.Add(key, value);
reader.MoveToContent();
}
它的錯誤了,因爲我不能解析屬性,它們都返回Null。
那麼你的當前代碼會發生什麼? –
我的不好,因爲鍵和值都是空的,所以出錯。我根本看不到讀者的屬性。所以它讀取項目就好了,但然後我不能解析屬性。 – Martin
你有*是否可以使用XmlReader,順便說一句?使用LINQ to XML使得這種事情變得簡單得多...(或者,你可以混合使用這兩種...) –