根據MSDN文檔,XMLWriter.WriteValue將xsd類型信息寫入xml以獲取簡單CLR類型。然後XMLReader.ReadContentAsObject應該在解析XML時讀出適當類型的對象。但是,這似乎總是爲我返回一個字符串對象,並且XMLReader的ValueType屬性是字符串。我試過插入long和DateTimes,但它們總是以字符串結尾。任何想法我做錯了或這是一個Windows Phone的錯誤?XmlReader.ReadContentAsObject始終返回字符串類型
XML編寫代碼
public void WriteXml(XmlWriter writer) {
// KeyValuePair<string, object> pair initialized previously
writer.WriteStartElement(pair.Key);
writer.WriteValue(pair.Value)
writer.WriteEndElement();
}
XML解析代碼
public void ReadXml(XMLReader reader) {
while (reader.Read()) {
if (reader.NodeType == XmlNodeType.Element) {
Type T = reader.ValueType; // T is string
reader.ReadStartElement();
object o = reader.ReadContentAsObject(); // o is string
o = reader.ReadContentAs(T, null); // o is string
}
}
}