我正在使用AugeAs在某些机器上操纵XML。尽管创建新节点并设置了一堆属性,就像魅力一样,我咬了指甲,将简单属性添加到XML文件中。XML看起来如下:
<?xml version="1.0"?>
<Context>
<WatchedResource></WatchedResource>
</Context>
我不只是尝试通过
将allowLinking="true"
添加到上下文根节点 set /files/path/to/my/file.xml/Context/#attribute/allowLinking "true"
不幸的是,
总是失败/error = "put_failed"
/error/path = "/files/path/to/my/file.xml/Context"
/error/lens = "/usr/share/augeas/lenses/dist/xml.aug:134.10-.73:"
/error/message = "Failed to match n { /#attribute/ }?({ /#text/ …
我正在使用puppet opensource 3.4.2,augeas 1.0.0。
有什么建议我做错了什么?
订单在Augeas树中很重要。在这种情况下,需要在#text
节点和子节点之前设置XML节点属性。
所以您需要的是:
ins #attribute before /files/test.xml/Context/#text
set /files/test.xml/Context/#attribute/allowLinking true
请注意,由于insert
不是一个基于掌握的操作,因此此更改不是掌握的。
在木偶上,您可以使用 onlyif
做这个依从。