如何使用 TXMLDocument 将名称空间前缀添加到每个节点

2023-12-03

我使用 XML 绑定向导创建了 TXMLDocument 的后代。此类生成的文件将在根节点中声明名称空间,并为文档的其余部分创建简单的、未经修饰的节点。

<?xml version="1.0"?>
<RootNode xmlns="URL" xmlns:xsi="URL" xsi:schemaLocation="URL">
    <SomeNode>
        <AnotherNode>Value</AnotherNode>
    </SomeNode>
</RootNode>

我在阅读或验证这一点时没有遇到任何问题。但是,发送这些文件的处理器现在要求每个节点都具有命名空间前缀,以便正确处理文件。

<?xml version="1.0"?>
<NS:RootNode xmlns:NS="URL" xmlns:xsi="URL" xsi:schemaLocation="URL">
    <NS:SomeNode>
        <NS:AnotherNode>Value</NS:AnotherNode>
    </NS:SomeNode>
</NS:RootNode>

如何使用我的 TXMLDocument 后代实现此目的?我希望它不会涉及手动编辑 10000 行生成的代码。


好吧,解决方案花了很长时间才发现,但出奇的简单。

XML 数据绑定向导生成的代码将使用默认命名空间创建 xml。您可以通过检查来看到这一点Get, Load and New生成单元中的函数。三个人都打电话给GetDocBinding,传入TargetNamespace作为最终参数。TargetNamespace是一个全局常量字符串,其中包含从您提供给绑定向导的架构或 xml 文档中提取的 URI。

Because TargetNamespace被分配给根元素作为默认命名空间,子元素不会有前缀。

这样做的方法:

FDocumentName := 
  NewXMLDocument.GetDocBinding(
    'ns:DocumentName', // <-- Just add the prefix to the root node.
    TXMLDocumentName,
    TargetNamespace) as IXMLDocumentName;

现在根节点将如下所示:

<ns:DocumentName xmlns:ns="URI">

并且所有子节点在创建时都会有前缀。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 TXMLDocument 将名称空间前缀添加到每个节点 的相关文章

  • 对于 xml-2-xml xslt 它将从未选择的元素输出这些文本

    我想通过 xslt 将一个 xml 传输到另一个 xml 下面是我的输入xml
  • Delphi - 如何将通用参数传递给接受 const 参数数组的函数

    我有一个 基类 其中包含一个 函数 该函数接受 const 数组 类型的参数 如下所示 type TBaseClass class TObject public procedure NotifyAll const AParams array
  • WPF - 全局添加xaml命名空间声明

    我有一个相当大的 WPF 应用程序 其中包含大量 XAML 文件 每个 XAML 文件都有 5 到 10 个 clr 到 xml 命名空间映射xmlns abc clr namespace Abcdef 它看起来很糟糕 并且在每个文件中写入
  • Delphi RTTI,已发布的属性出现两次

    我想对属性使用属性 但这些属性偶尔会在继承的类中发生更改 这是一个示例代码 非常简化 TBaseClass class TObject private FFoo string published BaseAttirib hello prop
  • 在 Delphi 中强制非阻塞临时提示窗口

    我一直在寻找 但找不到解决方案 所以我想也许我应该简单地发布它 这是我想要在 Delphi 2009 中做的事情 在我的应用程序中的某个时刻 我想向用户显示一条消息 这应该是正常的提示窗口 在正常应用程序定义的提示暂停后自动消失 并带有自定
  • PHP 读取 XML 播客 RSS 源

    好的 我正在为朋友的播客网站创建一个页面 列出他的播客的所有剧集 本质上 我所寻找的只是如何阅读 RSS 提要 解析出节点 并将信息显示在屏幕上 最终 我将创建一个可以播放剧集的播放器 但那是很久以后的事了 这就是我阅读 RSS 源的方式
  • 如何在 PHP Soap 客户端中禁用命名空间别名?

    我的 PHP Microsoft AX 集成有问题 我正在使用 SOAP WSDL 与服务集成 我遇到的问题是在从 PHP 向 WSDL 发送请求后收到此错误 无效的实例类型名称 ns3 AxdEntity DirParty DirOrga
  • 在 Inno Setup 中使用 StringToColor

    我想为表单上的标签 TNewStaticText 属性颜色 TColor 读写 分配一些颜色 我将颜色存储为 RRGGBB 字符串 我想使用 Delphi 函数 StringToColor 将其转换为 TColor 但如果我在脚本中使用此函
  • 创建FileStream时如何处理异常

    我有一个这样的函数 我想重构它 function Myfunction sUrl sFile String Boolean var GetData TFileStream begin Result False if the line bel
  • vcl组合框并不总是显示它有焦点

    当我从另一个控件切换到组合框时 它会显示文本周围带有虚线的框 但是当我以编程方式将控件设置为活动状态时 它不会显示相同的焦点指示器 这种行为有解决方法吗 我有德尔福XE6 MCVE unit Unit27 interface uses Wi
  • 如何更改 Chromium 组件的默认背景颜色?

    I use TChromium http code google com p delphichromiumembedded 我分配AWebPageAsString这是一个带有灰色背景颜色的静态 HTML 页面 FBrowser TChrom
  • 调试 xslt 的工具

    我有一个 Java servlet 它生成 XML 使用 XSLT 样式表对其进行翻译 然后显示生成的 HTML 这是我第一次使用 XSLT 调试 XSLT 的好方法是什么 我也有 或可以获得 一些示例 XML 文件来应用转换 但我什至不确
  • 如何使用 Javascript 将 HTML 表单数据输出到 XML 文件?

    我目前正在尝试弄清楚如何将 HTML 表单数据输出到 XML 文件 这是我过去几天一直在研究的一个想法 目的是创建一个用于 Windows 7 安装的 autounattended xml 文件 目前我的 HTML 如下
  • 在 iPhone 应用程序中显示来自 RSS 源的内容

    我看过一些关于这个主题的教程 但它们都只讨论了一半 然后让人感到困惑 如何将 RSS feed 流式传输到 iPhone 应用程序中 我知道 xml 应该被读入 解析等 但随后我不确定如何显示我需要的信息 例如图像 嵌入视频等 如果有人能指
  • ADODB 组件导致 Win7/Server 2008 上的访问冲突

    我有一段用 Delphi 2005 编写的代码 用于在 LDAP 中搜索用户的特定属性 当在 Windows 7 或 Server 2008 上运行时 我遇到访问冲突 但在 XP 或 2003 上则没有 Function IsSSOUser
  • 使用 PEM 证书验证 Powershell 中的 XML 签名

    我正在尝试创建一个 powershell 脚本来使用 XML 文档中的数据 然而 在进行任何工作之前 我需要通过验证签名来验证 XML 没有被篡改 我有一份用于以 PEM 格式签署 XML 的证书的公钥副本 但我不知道如何让 powersh
  • Microsoft EWS 推送通知响应消息

    目前 每当创建新的日历事件时 我们都会使用来自 Microsoft Exchange Web 服务的推送通知来调用我们的服务 一开始这似乎工作正常 我们正在收到验证消息并回复
  • 从 SQL XML 列中的元素获取属性名称

    对于此 xml 在 SQL 2005 XML 列中
  • xslt 展平 DocBook para 元素中的子元素

    我正在将一些生成的 DocBook xml 来自 Doxygen 转换为我公司的 xml 这实际上是 DocBook 的子集 有一个类似如下的 para 元素
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro

随机推荐

  • 显示偶数后跟所有奇数

    下面写的代码是正确的 但我想缩短这段代码 用java编写一个程序 在一维数组中输入10个数字 并将它们排列成所有偶数后面都是奇数 int a new int 6 int b new int 6 int i j int k 0 System
  • 无法从 JS AJAX 将数据发送回 Django

    html javascript var csrftoken name csrfmiddlewaretoken val Save click function var ajaxdata exam Exam val ajax url save
  • 在 git 中创建别名

    我对 Git 很陌生 我正在尝试单步执行存储库中的提交 我没有为每次提交复制并粘贴 SHA 而是使用此方法获取 HEAD 之后的下一次提交 git checkout git rev list HEAD master tail n 1 这工作
  • 在 Flutter 中按降序排列 Firestore 文档?

    我想根据 Firestore 文档上传的时间戳按降序排列 我的意思是 当我上传新照片时 它应该出现在我制作的图像网格的顶部 这里我使用了 orderBy 并为参数降序传递了 true get images 方法中代码的底部 默认情况下它是
  • 如何裁剪非闭合几何体

    Intro 我在实现剪辑时注意到一个问题 请参阅this 看起来 UIElement Clip 仍然渲染不可见的部分 渲染相对较小的几何体 线条仅fill1920x1200区域 2000垂直线 需要很多时间 使用时Clip and movi
  • Pyspark DataFrameWriter jdbc 函数的忽略选项是否忽略整个事务或仅忽略违规行?

    皮斯帕克DataFrameWriter类有一个jdbc功能用于将数据帧写入 sql 这个函数有一个 ignore文档说的选项将 如果数据已经存在 则静默忽略此操作 但它会忽略整个事务 还是只会忽略插入重复的行 如果我结合起来会怎样 igno
  • android 中的 android:weightSum 是什么,它是如何工作的?

    我想知道 什么是 android weightSum 和布局权重 它们如何工作 添加 superM 和 Jeff 的答案 如果LinearLayout中有2个视图 第一个的layout weight为1 第二个的layout weight为
  • 集合属性应该是只读的

    我正在为我的 WPF MVVM 程序集使用 FxCop 它给了我错误 集合属性应该是只读的 但在我的属性中 我需要 RaisePropertyChangedEvent 现在如果我通过删除其设置部分将属性设置为只读 我如何引发此事件 语法有点
  • Twitter Bootstrap - 选项卡 - URL 不变

    我正在使用 Twitter Bootstrap 及其 选项卡 我有以下代码 ul class nav nav tabs li class active a href add add a li li a href edit edit a li
  • 向 UITableViewController 添加顶部/底部视图?

    在我的故事板中 我有 UITableViewController 它具有自定义类 如何在表格视图的顶部和底部添加 UIView 对象 我是否必须在 UIView 内创建 UITableView 和两个所需的视图 然后手动初始化我的控制器 设
  • 如何使 JScrollPane 中的垂直和水平滚动条居中?

    我有一个 JPanel 其中有一个 JLabel 已添加到 JScrollPane 中 我有一个调用的actionListenerJLabel setIcon file jpg 图像正确显示在 JScrollPane 中并且为全尺寸 滚动条
  • 日期.parse(2/4/2011 9:34:48 AM)

    我的输入将来自变量 Ticket CreationDate 看起来像 2 4 2011 9 34 48 AM 当然会有所不同 理想情况下 我可以按原样传递变量并获得不同的结果 喜欢 knownDateFunc Ticket DateCrea
  • htaccess errordocument 404 并将 url 传递给路径

    如何使用以下命令将 404 d URL 传递到我的 404 html 页面 htaccess 例如 如果我访问无效页面 user 123 RewriteEngine on RewriteCond REQUEST FILENAME f Rew
  • 根据列优先级选择记录

    首先 这个问题的标题很糟糕 但我没有找到更好的方法来描述我的问题 可能有一个非常简单的方法可以做到这一点 但我无法弄清楚 这非常类似于this问题 但我正在 sqlite3 iOS 上运行 所以我怀疑我的选择更加有限 我有一张包含产品记录的
  • PHP mySQL - 你能返回一个带有数字索引的关联数组吗?

    我的数据库类中有这个方法 public function query queryString if this gt connected this gt connectToDb connect to database results mysq
  • PS4 控制器 - 当值为 1 时光标不移动

    我试图编写程序来使用 PS4 控制器控制鼠标 一切正常 我获取数据并且可以相应地移动鼠标 然而 当我将操纵杆固定在任何轴上时 鼠标不会移动 这不仅在我握住它时发生 而且在操纵杆值没有改变时也会发生 有什么办法可以解决这个问题吗 import
  • 为可变参数模板函数中的每个模板类型调用 void 函数?

    我的目标是编写一个简单的通用函数来注册任意 C 类型的转换器 为了简单起见 我将只打印 C 类型名称 我希望能够调用我的通用函数print type name适用于任何类型的函数 包括同时使用多种类型 可变参数 template
  • 如何使用 C# 读取/加载 datagridview 中的文本 (*.txt) 文件值?

    谁能帮我 在这里 我需要在我的 datagridview 中读取 加载文本 txt 文件值 这是我需要加载的示例文本文件 S NO Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9
  • Sphinx 中类链接的缩写名称

    seealso Class class apps business models Department Explanation goes here GNU tar manual Basic Tar Format
  • 如何使用 TXMLDocument 将名称空间前缀添加到每个节点

    我使用 XML 绑定向导创建了 TXMLDocument 的后代 此类生成的文件将在根节点中声明名称空间 并为文档的其余部分创建简单的 未经修饰的节点