问题标签 [txmldocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 如何在 txmldocument.xml 中获取 encoding = "utf-8"?>?
这对我在 Delphi XE2 中不起作用。
我仍然没有得到encoding="utf-8"?>
结果文档中的内容。但如果我说
然后我确实进入encoding="utf-16"?>
了生成的文档。
有任何想法吗?任何人?
delphi - vXML.Active := True => EDOMParseError at “%25” 字符序列
当我想加载文件名中包含“%25”的 XML 文件时,我在 Delphi 中遇到了这个问题。
在调试模式下,行中有错误
错误:
第一次机会例外,$75ACC41F。带有消息的异常类 EDOMParseError
行:0'。
Enyone 知道如何让 TXMLDocument 打开文件名中包含“%25”字符的文件吗?
该文件不为空 - 我检查了它。当我删除“%25”字符时,一切正常。示例文件名:“something %25.xml”
我的系统和 IDE:带有 Service Pack 1 的 Windows 7 Home Premium;德尔福 2010;
delphi - TXMLDocument 中的意外结果
我尝试创建一个 xml 文档来访问 Web 服务。我无法像我想要的那样获得结果 xml 蜜蜂。:-) 这是我创建此文档的 delphicode。
生成的 xml 如下所示。
我希望它看起来像这样。
我无法弄清楚我做错了什么。你们中的任何人都可以帮助我吗?你们中有人知道创建包含标题和正文的 xml 文件的示例/教程吗?
xml - XML 中的 £ 字符
使用 Delphi XE2 TXMLDocument 和 MSXML
£ 字符不会被标记为无效字符。
这是一个问题吗?更重要的是建议什么解决方法。
TIA
以法莲
c# - 定义不明确的 XML,将所有子节点的节点和内容作为带空格的字符串连接?
这是一些很棒的 XML 示例:
我只想从部分节点和所有子节点中获取文本作为字符串。但是,请注意子节点周围可能有也可能没有空格,所以我想填充子注释并附加一个空格。
这是一个更精确的示例,说明输入可能是什么样的,以及我希望输出是什么样的:
我希望输出是:
请注意,子节点周围没有空格,因此我需要填充它们,否则单词会一起运行。
我试图使用这个示例代码:
但是输出包括子标签,并且不会起作用。
这里有什么建议吗?
TL;DR: 获得了节点汤 xml,并希望通过子节点周围的填充对其进行字符串化。
xml - 使用 Delphi XE8 进行 XSLT 转换的替代方案
我正在尝试使用 Delphi XE8 执行 XSLT 转换并遇到问题。我的 XSL 文件使用其 href 属性具有相对路径的 import 语句引用外部 XSL 文件。转换失败并出现错误“命名模板 'skrivUtDate' 未出现在样式表中。” 定义“skrivUtDate”位于外部 XSL 文件中。定义如下所示:
我已将外部 XSL 文件放在适当的目录中(相对于原始 XSL 文件),但我得到了相同的错误(我还尝试了该外部文件的所有其他可能的目录,但没有一个有效)。但是,我可以使用 EditX XML Editor 执行转换,所以我不认为 XSL 是无效的(注意这个 XSL 文件是由第三方提供的,显然它被一些使用开发平台以外的人成功使用德尔福)。
这是 XSL 文件的开头部分:
而且,是的,funksjoner.xsl 文件位于名为 Felleskomponenter 的目录中。
我非常简单的测试使用类似于以下伪代码的内容:
我知道 Delphi XE7 开始与 Omni XML DOM 以及 ADOM 一起发布,但 Delphi XE8 显然没有这些。我希望使用不同的文档对象模型可以解决这个问题。
XML 非常复杂,XSL 也是如此。
是否有人对使用 Delphi XE8 执行 XSLT 转换的替代方法有任何建议?
delphi - EDOMParseError 错误代码列表
在哪里可以找到EDOMParseError.ErrorCode
值列表?
我在 Delphi 源代码或 MSDN 中找不到它。
例如,如果我设置XMLDocument.FileName
为不正确的 url,我有
这些代码是在哪里定义的?
delphi - MSXML XPath 可以选择属性吗?( UPD:真正的问题是默认的无前缀命名空间)
我想尝试使用 MSXML 和 XPath 解析 Excel XML 电子表格文件。
- https://technet.microsoft.com/en-us/magazine/2006.01.blogtales
- https://msdn.microsoft.com/en-us/library/aa140066.aspx
它有一个根元素<Workbook xmlns.... xmlns....>
和一堆下一级节点<Worksheet ss:Name="xxxx">
。
在某个步骤,我想使用 XPath 来获取工作表的名称。
注意:我不希望间接获取名称,即首先选择这些Worksheet
节点,然后手动枚举它们读取它们的ss:Name
子属性节点。我能做到的,这不是这里的主题。
我想要的是利用 XPath 的灵活性:直接获取这些ss:Name
节点而无需额外的间接层。
当我使用简化'/Workbook/Worksheet'
查询 MSXML 正确返回节点时。但是,只要我将属性添加到查询中,MSXML 就会返回空集。
XMLPad Pro 或http://www.freeformatter.com/xpath-tester.html等其他 XPath 实现正确地返回ss:Name
属性节点列表。但 MSXML 没有。
帮助 MSXML 返回具有给定名称的属性节点的 XPath 查询文本是什么?
UPD。@koblik 建议链接到 MS.Net 选择器(不是 MSXML 选择器),那里有两个示例 https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx
- 示例 1:
book[@style]
-当前上下文的所有具有样式属性的元素。 - 示例 2:
book/@style
-当前上下文的所有元素的样式属性。
这就是我在上面的“注意”中所说的区别:我不需要那些book
s,我需要style
s。我需要属性节点,而不是元素节点!示例 2 的语法正是 MSXML 似乎失败的地方。
UPD.2:一位测试人员显示了一个有趣的错误声明: XPath 查询的默认(无前缀)命名空间 URI始终是 ''并且不能重新定义为 'urn:schemas-microsoft-com:office:spreadsheet' 我想知道是否这样声称 XPath 中没有默认命名空间实际上是标准的一部分,或者只是 MSXML 实现限制。
那么如果要删除默认的 NS,结果应该是这样的: Variant 1: Variant 2:
我想知道关于 XPath 中没有默认命名空间的说法是否真的是标准的一部分,或者只是 MSXML 实现限制。
UPD.3:Martin Honnen 在评论中解释了该行: See w3.org/TR/xpath/#node-tests for XPath 1.0(由 Microsoft MSXML 支持),它明确指出“节点测试中的 QName 扩展为使用表达式上下文中的命名空间声明的扩展名称。这与对开始和结束标记中的元素类型名称进行扩展的方式相同,只是不使用使用 xmlns 声明的默认命名空间:如果 QName 没有前缀,则命名空间 URI 为空”。因此,在 XPath 1.0 中,像“/Workbook/Worksheet”这样的路径会在没有命名空间的情况下选择该名称的元素。
UPD.4:因此选择适用于'/ss:Workbook/ss:Worksheet/@ss:Name'
XPath 查询,直接返回“ss:Name”属性节点。在源 XML 文档中,默认(无前缀)和“ss:”命名空间都绑定到同一个 URI。此 URI 由 XPath 引擎确认。但不是默认命名空间,不能在 MSXML XPath 引擎中重新定义(实现 1.0 规范)。因此,为了使其工作,默认命名空间应通过 URI 映射到另一个显式前缀(已经存在的或新创建的),然后将在 XPath 选择字符串中使用该替代前缀。由于命名空间匹配通过 URI 而不是通过前缀,因此文档和查询中使用的前缀是否匹配并不重要,它们将通过它们的 URI 进行比较。
接着
感谢 Asbjørn 和 Martin Honnen 解释了这些琐碎的事后但并不明显的先验关系。
c++ - 使用 txmldocument (c++ builder 2007) 打开一个 gpx 文件
我有一个 gpx 文件,我想在 c++ builder 2007 下使用 vcl 组件 txmldocument 打开。该文件应该与 xml-version 1.0 兼容,因为它写在第一行,如下面的代码所示。
我在对象检查器的 txmldocument 的文件名行中输入文件名。然后我双击我的 vcl 应用程序表单上的 txmldocument 图标。
我收到错误消息:“ungültiges oder nicht unterstütztes xml-schemadokument。” 这意味着英文:“无效或不支持 xml-schema 文档。”
我的 xml 代码的第一行是:
我在http://www.topografix.com/GPX/1/1/gpx.xsd上看到了代码,但我不明白错误的位置。
也许有人可以帮助我?
谢谢
xml - 在带有 prolog 的 XML 文档中,如何获取根节点的子节点及其属性?
我有这个 XML 文件:
现在我尝试通过开始读取根节点来开始读取MyApp_Favorites的子节点及其各自的属性(然后我会尝试读取根节点的子节点):
但是,ThisRootNode.Text
给我回了:
版本="1.0" 编码="UTF-8"
但是 XML 规范不是说 XML Prolog 不是 XML 文档内容的一部分吗?那么为什么我将 XML Prolog 作为 XML 文档的一部分呢?以及如何获取根节点MyApp_Favorites以及其最喜爱的子节点及其属性?