如何在Vala上对Xml.Node对象使用XPath?
我能找到的唯一例子是Context是从Doc对象创建的,但是我没有一个Xml.Doc对象。有没有办法将Xml.Node转换为Xml.Doc?或者还有其他方式吗?
我正在看的例子是:https://live.gnome.org/Vala/XmlSample
感谢。
答案 0 :(得分:1)
Xml.Node类有一个Xml.Doc doc成员。您应该能够使用它来获取节点的相关Xml.Doc。
答案 1 :(得分:0)
我也会对此感兴趣,这是我到目前为止所做的事情(我只是在学习Vala)
// Get the node's name
string node_name = iter->name;
switch (node_name){
case "host":
this.host = (string) iter->get_content ();
break;
case "username":
this.username = (string) iter->get_content ();
break;
case "password":
this.password = (string) iter->get_content ();
break;
case "database":
this.database = (string) iter->get_content ();
break;
case "port":
this.port = (int)iter->get_content ();
break;
}
但是由于显而易见的原因,这可以很好地使用非常小而简单的xml,但是当你得到一个更复杂和更大的xml时,你的性能将受到很大影响。