gpt4 book ai didi

xml - 使用 Groovy+Smooks 向现有 XML 添加命名空间声明

转载 作者:行者123 更新时间:2023-12-04 17:00:50 27 4
gpt4 key购买 nike

我正在编写这个在 Smooks 中运行并编辑 XML 的 groovy 脚本。我正在尝试将 xsi:nil="true"添加到空字段中,但我遇到的问题是 xsi 命名空间声明未添加到根字段中。这是我尝试过的:

element['@xsi:nil'] = 'true'


def nil = doc.createAttributeNS("http://www.w3.org/2001/XMLSchema-instance", 'xsi:nil')
nil.setValue('true');
element.setAttributeNodeNS(nil)

这两个都将添加属性但不添加 NS 声明。

我也试过这个,但它导致堆栈溢出错误:
def doc = element.getOwnerDocument();
doc.declareNamespace(xsi: 'http://www.example.org/xsi')

这是 Smooks 文档的链接:
http://www.smooks.org/mediawiki/index.php?title=V1.4:groovy

基本上,脚本在运行时生成的 groovy 类中运行。

最佳答案

尝试格式化元素,如下所示:

 "elementname"('xsi:nil' : 'true', 'xmlns:xsi' : 'http://www.w3.org/2001/XMLSchema-instance')

这将返回以下 XML 标记:
<elementname xsi:nil='true' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' />

希望这能解决您的问题。

关于xml - 使用 Groovy+Smooks 向现有 XML 添加命名空间声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5089226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com