使用XPath创建XML节点

时间:2014-11-06 16:00:08

标签: c++ xml qt xpath

是否可以使用XML创建XPath个节点?

假设我得到以下XML:

<data>
    <someValue1></someValue2>
    <someValue2></someValue2>
    <someArray>
        <val></val>
        <val></val>
        <val></val>
    </someArray>
</data>

我要做的是使用XML(例如XPath)在/data/someValue1内部获取节点并设置节点的值。使用支持XML + XPath的任何语言和框架,这当然很容易实现。

但是当我的XPath表达式指向一个非现有节点时,我想以某种方式创建此节点。即使XPath表达式更复杂(例如 /data/someArray/val[5])。

最好这个自动节点创建应该由某个库支持。对于我想要实现的目标,有一种简单的方法吗?目前我正在使用 C ++ Qt QXmlQuery类。

1 个答案:

答案 0 :(得分:0)

  

是否可以使用XPath创建XML节点?

不,不是。 XPath只能选择现有节点。

如果要创建新节点,则需要XSLT或XQuery。

但即便如此,创建一个满足/a/b/c/foo[5]之类给​​定路径的节点也是非常重要的,而不是语言可以自动完成的。