我的任务是将用VB6编写的古老应用程序升级到VB.NET / .NET Framework 4.6。该程序进行了相当多的XML解析,其中大部分我已经能够转换为使用System.Xml库但是我似乎无法弄清楚如何处理类型化的节点值。代码中出现以下内容:
' VB6
Dim xmlNode As MSXML2.IXMLDOMElement
...
iNodeValue = xmlNode.nodeTypedValue
...
xmlNode.nodeTypedValue = iNodeValue
我已经想出如何通过XPathNavigator
获取节点的类型值,但是,我似乎无法弄清楚如何分配类型化节点的值。我无法在网上看到这个话题,但我的google-fu很弱。任何人都可以建议我如何做到这一点或提供替代方案?任何帮助将不胜感激。
答案 0 :(得分:0)
对于任何想知道这一点的人,为了解决我的问题,我最终使用XmlDocument类从XML获取节点的值,然后将字符串值转换为所需的数据类型。例如,
string sValue = xmlDoc.SelectSingleNode("//testint").InnerText
int iValue = Integer.Parse(sValue)
如果您担心可能检索到的数据, Integer.TryParse()
也是一个不错的选择。