You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB.NET中创建带命名空间的嵌套XML节点

解决VB.NET XElement创建带rdf/rql命名空间XML的问题

要生成目标XML结构,你需要完整定义两个命名空间、添加对应属性及嵌套子元素,以下是完整实现代码:

' 定义rdf和rql命名空间(确保MyKeyContainer能正确返回对应命名空间URI)
Dim rdf As XNamespace = MyKeyContainer.MyNamespace("rdf")
Dim rql As XNamespace = MyKeyContainer.MyNamespace("rql")

' 创建根元素rdf:_11,并添加rdf:parseType属性
Dim myNode As New XElement(rdf + "_11",
    New XAttribute(rdf + "parseType", "Resource"),
    ' 添加rql:object子元素
    New XElement(rql + "object", "R1"),
    ' 添加rql:field子元素及内部嵌套结构
    New XElement(rql + "field",
        New XElement(rdf + "Seq",
            New XElement(rdf + "li", New XAttribute(rdf + "resource", "http://com.ibm.rdm/navigation#tag")),
            New XElement(rdf + "li", New XAttribute(rdf + "resource", "http://purl.org/dc/terms/title"))
        )
    )
)

' 输出XML验证结果
Console.WriteLine(myNode.ToString())

关键注意点:

  • 命名空间全覆盖:必须同时定义rdf和rql两个命名空间,所有带前缀的元素/属性都要绑定对应命名空间,不能遗漏。
  • 属性的命名空间:rdf:parseType和rdf:resource这类带前缀的属性,也要使用rdf命名空间创建,不能直接用字符串作为属性名。
  • 嵌套结构层级:严格按照目标XML的层级关系创建子元素,确保rdf:Seq嵌套在rql:field内,rdf:li嵌套在rdf:Seq内。

执行上述代码后,生成的XML结构将完全匹配你的目标需求。

内容的提问来源于stack exchange,提问作者user30880528

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:22:09