VB6 MSXML2 nodeTypedValue 的 .NET 4.6 等价物是什么?
What is the .NET 4.6 equivalent of VB6 MSXML2 nodeTypedValue?
我的任务是将一个用 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 很弱。任何人都可以建议我如何去做这件事或提供替代方案吗?任何帮助将不胜感激。
对于任何对此感到疑惑的人,为了解决我的问题,我最终使用 XmlDocument class 从 XML 获取节点的值,然后将字符串值转换为需要的数据类型。例如,
string sValue = xmlDoc.SelectSingleNode("//testint").InnerText
int iValue = Integer.Parse(sValue)
如果您担心可能检索到的数据,Integer.TryParse()
也是一个不错的选择。
我的任务是将一个用 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 很弱。任何人都可以建议我如何去做这件事或提供替代方案吗?任何帮助将不胜感激。
对于任何对此感到疑惑的人,为了解决我的问题,我最终使用 XmlDocument class 从 XML 获取节点的值,然后将字符串值转换为需要的数据类型。例如,
string sValue = xmlDoc.SelectSingleNode("//testint").InnerText
int iValue = Integer.Parse(sValue)
如果您担心可能检索到的数据,Integer.TryParse()
也是一个不错的选择。