結果として2つのライブラリが見つかりましたが、いずれもいくつかの修正が必要です。それは場合にのみ使用することができます
1."Haxe XPath"
あなたのソース(haxelibレポはこのライブラリが含まれていない)にクローンディレクトリ "haXeの-のxpath/SRC/XPathは、"。 thisとthis
例(最初に見つかった要素を削除します):
package;
import xpath.XPathHx;
using Lambda;
class Main {
public static function main() {
var xml = Xml.parse("<a> <b> <c>qwe</c> <c>asd</c> </b> </a>");
trace(xml.toString());
var xpExpr = new XPathHx("//a/b/c"); // create new XPath expression object
var result = xpExpr.selectNodes(xml).array()[0]; // get first element from array of founded xml-nodes
result.parent.removeChild(result); // remove selected node from xml-tree
trace(xml.toString());
}
}
2."xmlTools"
を、それができるいくつかの修正は、このライブラリのために必要だった
haxelibと一緒にインストールしてください:
haxelib install xmlTools
haxelib install composure
Some fix was needed for this library (in my task)と1 nuance for xpath。
例(最初に見つかった要素を削除します):ライブラリの
package;
import xmlTools.XPath;
using Lambda;
class Main {
public static function main() {
var xml = Xml.parse("<a> <b> <c>qwe</c> <c>asd</c> </b> </a>");
trace(xml.toString());
var xpath = new XPath(); // create new XPath expression object
var result = xpath.resolve(xml, "*/a/b/c").array()[0]; // get first element from array of founded xml-nodes
result.parent.removeChild(result); // remove selected node from xml-tree
trace(xml.toString());
}
}
"haXeの-のxpathは、" いくつかの小さな修正https://github.com/djcsdy/haxe-xpath/issues/26ました –