我正在尝试将我使用的XmlReader
更改为XmlDocument
,但似乎并不存在某些方法。我正在寻找XmlReader.ReadContentAs
和XmlReader.ReadElementContentAs
的等价物。
Type myType;
if(myType == typeof(Boolean) || myType == typeof(Double))
{
object myvalue = _cReader.ReadElementContentAs(myType, null);
}
// should become:
if(myType == typeof(Boolean) || myType == typeof(Double))
{
object myvalue = xmlElement.ParseAnything(myType);
}
我不只是使用Boolean
执行此操作,但可以通过这种方式读取多种类型。可能myType
也是Single
或Double
。
答案 0 :(得分:0)
我更改了XmlReader - 为什么不将它更改为XDocument(这比XmlDocument简单得多)。
关于你的问题,如果我理解你,你只需要Value
属性
答案 1 :(得分:0)
只需将XmlElement.InnerText属性解析为特定类型:
bool mybool = Boolean.Parse(myXmlElement.InnerText);
更新:
您可以使用Convert.ChangeType()方法将字符串从Xml解析为给定的Type
变量:
Type myType;
if(myType == typeof(Boolean) || myType == typeof(Double))
{
object myvalue = Convert.ChangeType(xmlElement.InnerText, myType);
}