Xml.nodeValue原因“;“节点类型错误”;错误 class Main扩展了Sprite { 公共职能(新增) { 超级(); 尝试 { var xml:xml=xml.parse(“6”); 跟踪(xml.nodeType); for(x在xml.elementsNamed(“count”)中) { 微量元素(x.nodeName); trace(x.nodeType); 痕量(x.nodeValue); } } 捕获(错误:动态) { 跟踪(err); 系统出口(1); } } }

Xml.nodeValue原因“;“节点类型错误”;错误 class Main扩展了Sprite { 公共职能(新增) { 超级(); 尝试 { var xml:xml=xml.parse(“6”); 跟踪(xml.nodeType); for(x在xml.elementsNamed(“count”)中) { 微量元素(x.nodeName); trace(x.nodeType); 痕量(x.nodeValue); } } 捕获(错误:动态) { 跟踪(err); 系统出口(1); } } },xml,exception,haxe,xmlnode,neko,Xml,Exception,Haxe,Xmlnode,Neko,输出: Main.hx:23:6 Main.hx:27:count Main.hx:28:0 Main.hx:34:节点类型错误,意外为0 我不能完全理解nodeValue属性的操作原理。正因为如此,我无法解决我的问题。有人帮忙吗 另外,我的配置是:以Neko为目标的Haxe+OpenFL。elementsNamed()返回类型为XmlType.Element的节点,并且显式状态为: 返回节点值。仅当Xml节点不是元素或文档时才有效 因此,nodeValue将适用于所有其他可能的值。在您的情况下

输出:

Main.hx:23:6

Main.hx:27:count

Main.hx:28:0

Main.hx:34:节点类型错误,意外为0

我不能完全理解
nodeValue
属性的操作原理。正因为如此,我无法解决我的问题。有人帮忙吗

另外,我的配置是:以Neko为目标的Haxe+OpenFL。

elementsNamed()
返回类型为
XmlType.Element
的节点,并且显式状态为:

返回节点值。仅当Xml节点不是元素或文档时才有效

因此,
nodeValue
将适用于所有其他可能的值。在您的情况下,要检索的值存储在
XmlType.PCData
节点中,您可以使用以下方法访问它:

for(x在xml.elementsNamed(“count”)中)
{
trace(x.firstChild().nodeType);//1-XmlType.PCData
跟踪(x.firstChild().nodeValue);//6
}
6
的完整结构如下所示:

[XmlType.Document]->[XmlType.Element]->[XmlType.PCData 6]