我的任务是将一个用vb6编写的古老应用程序升级到vb.net/.net framework 4.6。程序进行了相当多的XML解析,其中大部分都可以转换为使用system.xml库,但是我似乎不知道如何处理类型化节点值。代码中出现以下内容:

' VB6
Dim xmlNode As MSXML2.IXMLDOMElement
...
iNodeValue = xmlNode.nodeTypedValue
...
xmlNode.nodeTypedValue = iNodeValue

我已经知道如何通过XPathNavigator获取节点的类型化值,但是,我似乎无法确定如何分配类型化节点的值。我在网上找不到很多关于这个话题的信息,但我的谷歌搜索功能很弱。有人能建议我怎么做或提供一个替代方案吗?任何帮助都将不胜感激。

最佳答案

对于任何对此感到疑惑的人,为了解决我的问题,我最终使用xmldocument类从xml中获取节点的值,然后将字符串值转换为所需的数据类型。例如,

string sValue = xmlDoc.SelectSingleNode("//testint").InnerText
int iValue = Integer.Parse(sValue)

Integer.TryParse()如果您担心可能检索到的数据,那么也是一个不错的选择。

10-06 06:46