如何在 Haxe 中删除一个 Xml 节点
How to delete an Xml node in Haxe
有谁知道如何从 Haxe 中的 Xml 结构中删除节点?我试过 removeChild 方法,但到目前为止,运气不好:http://try.haxe.org/#92A8A
我只想从 <root><node1/></root>
中删除 <node1 />
。
这是我试过的:
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>
有人吗?布勒? :)
您试图从 xml
中删除 x
的第一个子节点/根节点,而您确实需要从 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)
会隐式调用
。
有谁知道如何从 Haxe 中的 Xml 结构中删除节点?我试过 removeChild 方法,但到目前为止,运气不好:http://try.haxe.org/#92A8A
我只想从 <root><node1/></root>
中删除 <node1 />
。
这是我试过的:
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>
有人吗?布勒? :)
您试图从 xml
中删除 x
的第一个子节点/根节点,而您确实需要从 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)
会隐式调用