如何在没有名称空间的情况下访问XML元素

用户名

以下代码段可以正常工作并打印<bar xmlns="x">bar</bar>

import ballerina/io;
public function main() {
    final xml x1 = xml `<foo xmlns="x">
        <bar>bar</bar>
    </foo>`;

    xmlns "x" as x;
    io:println(x1[x:bar]);
}

但是,如果不涉及XML名称空间,如下面的代码片段所示,则会出现意外的编译错误:undefined symbol 'bar'

import ballerina/io;
public function main() {
    final xml x1 = xml `<foo>
        <bar>bar</bar>
    </foo>`;

    // compilation error: undefined symbol 'bar'
    io:println(x1[bar]);
}

没有名称空间时如何访问XML元素?例如,xmlns "" as x;也是一个编译错误。

我正在使用芭蕾舞女演员1.1.0。

Dhananjaya

要使用[]语法而不使用xml名称空间前缀,可以使用字符串文字来指定所需的元素。这称为扩展形式,您可以在其中用花括号括起来的名称空间作为前缀。如果没有定义名称空间,则可以忽略名称空间前缀,而只使用元素名称。

import ballerina/io;
public function main() {
    final xml x1 = xml `<foo>
        <bar>bar</bar>
    </foo>`;

    // simple element name
    io:println(x1["bar"]);

    final xml x2 = xml `<foo>
        <ns:bar xmlns:ns="ns.uri.com">bar</ns:bar>
    </foo>`;

    // xml element name in expanded form
    io:println(x2["{ns.uri.com}bar"]);
    // We can also define the namespace prefix and use it to access
    xmlns "ns.uri.com" as ns;
    io:println(x2[ns:bar]);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在没有名称空间的情况下进行封送?

如何在没有名称空间的情况下将名称空间和xsi添加到传入XML

如何在没有名称空间的情况下调用Ruby类

XML中没有名称空间的元素

XSLT:如何在同一篇文章中访问名称空间类型和没有名称空间类型的元素

没有名称的XML标记

如何在没有名称的XML中查找属性及其值?

如何将xml的一部分转换为没有名称空间的新xml?

没有名称空间时如何在laravel 5.6上使用google-api-php-client

如何在具有不同名称空间的情况下访问具有相似名称的vue / vuex mapActions方法?

XML中具有相同的前缀和多个名称空间-如何在不影响Python中其他元素的情况下添加元素属性

如何在R中没有列名称的情况下获得矩阵元素?

如何在没有第二类名称的情况下获取元素

在Python中遍历没有名称空间的XML树

XML到XSD,没有名称空间绑定错误

如何在没有 ID 或类的情况下访问 html 元素标签?

XSLT创建没有名称空间的内容

没有名称空间的XSLT复制节点

如何在没有单独结构的情况下获取xml名称标签变体

如何在没有父元素的情况下将列表序列化为XML

如何在没有 <string> 元素的情况下返回 xml?

没有在Python中导入的情况下,如何在全局名称空间中使用内置模块的内容?

如何在没有属性字段的情况下仅获取设备名称和可用空间百分比?

CLR如何在运行时区分不同程序集中具有相同名称但没有名称空间的类?

如何在没有root用户访问权限的情况下释放未使用的磁盘空间?

如何访问没有名称的对象内的JSON对象

我如何使用 JQuery 从没有名称的数组 Json 中获取元素

如何在没有命名空间的情况下将 XML 字符串附加到 DOMDocument

如何在Win7中删除没有名称的文件夹?