Gul*_*van 3 xml haxe exception xmlnode neko
class Main extends Sprite
{
public function new()
{
super();
try
{
var xml:Xml = Xml.parse("<count>6</count>");
trace(xml.nodeType);
for (x in xml.elementsNamed("count"))
{
trace(x.nodeName);
trace(x.nodeType);
trace(x.nodeValue);
}
}
catch (err:Dynamic)
{
trace(err);
Sys.exit(1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Main.hx:23:6
Main.hx:27:tount
Main.hx:28:0
Main.hx:34:节点类型错误,意外0
我不能完全理解nodeValue
财产的运作原则.因此,我无法解决我的问题.这里有什么帮助?
PS我的配置是:Haxe + OpenFL瞄准Neko.
elementsNamed()
返回类型的节点XmlType.Element
,以及显式状态的文档nodeValue
:
返回节点值.仅在Xml节点不是Element或Document时有效.
因此,nodeValue
将适用于所有其他可能的XmlType
值.在您的情况下,您要检索的值存储在XmlType.PCData
节点中,您可以使用firstChild()
以下命令访问它:
for (x in xml.elementsNamed("count"))
{
trace(x.firstChild().nodeType); // 1 - XmlType.PCData
trace(x.firstChild().nodeValue); // 6
}
Run Code Online (Sandbox Code Playgroud)
完整的结构<count>6</count>
看起来像这样:
[XmlType.Document] -> [XmlType.Element <count>] -> [XmlType.PCData 6]
Run Code Online (Sandbox Code Playgroud)