有人知道如何从Haxe的Xml结构中删除节点吗?我尝试过removeChild方法,但到目前为止,没有运气:http://try.haxe.org/#92A8A
我想要做的就是从<node1 />
移除<root><node1/></root>
。
这是我尝试过的:
class Test {
static function main() {
var xml:Xml = Xml.parse("<root><node1/></root>");
var n:Xml;
xml.removeChild(Xml.parse("<node1/>"));
trace(xml.toString());
for (x in xml.iterator())
{
trace(x.firstChild().toString());
n = x.firstChild();
}
xml.removeChild(n);
trace(xml.toString());
}
}
我希望看到<root />
为结果,但仍会输出<root><node1 /></root>
任何? Bueller? :)
答案 0 :(得分:3)
当您确实需要从x
删除xml
时,您尝试删除x
/根节点的第一个孩子:
class Test {
static function main() {
var xml:Xml = Xml.parse("<root><node1/></root>");
for (x in xml)
x.removeChild(x.firstChild());
trace(xml.toString()); // <root/>
}
}
请注意,无需直接调用iterator()
,这会for (element in iterable)
隐式调用。