问题标签 [xml]

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.

0 投票
8 回答
4673 浏览

c# - C#:从 XML 实例化类

我所拥有的是一个类的集合,它们都实现了相同的接口,但在底层可能会有很大的不同。我想要一个配置文件控制在启动程序时哪些类进入集合,看起来像:

并将其变成:

以一种非常通用的方式。我不知道该怎么做是获取prop1配置文件中的字符串并将其转换为代码中的实际属性访问器。C# 中是否有任何元编程工具允许这样做?

0 投票
3 回答
12171 浏览

xml - 查找并替换为唯一

我正在对换行符 ( 
) 执行查找和替换,并使用以下代码将其替换为段落关闭和段落打开标记:

这几乎可以完美地工作,除了我真的需要它来删除换行符,因为段落往往被 2 或更多分隔,导致</p><p></p><p>.

是否有可能获得它,使其每段仅替换一次?

0 投票
3 回答
3324 浏览

xml - 防止 IEnumerable 和 ICollection 的 XML 序列化& 继承类型

注意:XMLIgnore不是答案!

好的,所以继我关于XML 序列化和继承类型的问题之后,我开始将该代码集成到我正在处理的应用程序中,愚蠢地认为一切都会顺利......

我遇到了几个实现IEnumerableICollection<T>的类的问题

这些问题是,当 XMLSerializer 开始序列化这些时,它将它们视为外部属性,而不是使用我们希望它的属性(即带有AbstractXmlSerializer的属性)它来到这里并跌倒(由于类型不匹配),几乎让我们回到第一方。您也不能使用XmlIgnore属性来装饰这些方法,因此我们不能以这种方式阻止它。

我目前的解决方案是删除接口实现(在这个当前的应用程序中,这没什么大不了的,只是让代码更漂亮)。

我需要吞下我对这个的骄傲并接受它做不到吗?我知道我已经推动并从 XmlSerializer 中得到了比预期更多的东西:)


编辑

我还应该补充一点,我目前正在使用框架 2。


更新

我已经接受了lomaxx 的回答。在我的情况下,我实际上无法做到这一点,但我知道它会起作用。由于他们没有其他建议,我最终从代码中删除了接口实现。

0 投票
4 回答
1640 浏览

xml - XML 解析器/验证器的算法复杂性

我需要知道不同 XML 工具(解析器、验证器、XPath 表达式评估器等)的性能如何受输入文档的大小和复杂性的影响。是否有资源可以记录 CPU 时间和内存使用情况如何受到...的影响……嗯,什么?文档大小(以字节为单位)?节点数?关系是线性的、多项式的还是更糟的?

更新

在 IEEE 计算机杂志第 41 卷第 9 期,2008 年 9 月的一篇文章中,作者调查了四种流行的 XML 解析模型(DOM、SAX、StAX 和 VTD)。他们运行了一些非常基本的性能测试,表明当输入文件的大小从 1-15 KB 增加到 1-15 MB 或大约 1000 倍时,DOM 解析器的吞吐量将减半。其他模型的吞吐量没有受到显着影响。

不幸的是,他们没有进行更详细的研究,例如将吞吐量/内存使用作为节点数/大小的函数。

文章在这里。

更新

我找不到任何正式的方法来解决这个问题。对于它的价值,我做了一些实验,测量 XML 文档中的节点数作为文档大小(以字节为单位)的函数。我正在开发一个仓库管理系统,XML 文档是典型的仓库文档,例如提前发货通知等。

下图显示了以字节为单位的大小与节点数之间的关系(在 DOM 模型下,它应该与文档的内存占用成正比)。不同的颜色对应不同种类的文件。比例为对数/对数。黑线最适合蓝点。有趣的是,对于所有类型的文档,字节大小和节点大小之间的关系是线性的,但是比例系数可能会有很大的不同。

基准-bytes_vs_nodes
(来源:flickr.com

0 投票
1 回答
2771 浏览

xml - “任意数量的这些元素 - 以任意顺序”的 XML Schema 构造

我需要创建一个看起来像这样的 XML 模式:

我需要的是替换“WhatGoesHere”,这样任何数量的 el3、el4 和 el5 都可以以任何顺序出现。例如它可以包含 {el3, el3, el5, el3}

关于如何解决这个问题的任何想法?

0 投票
3 回答
13906 浏览

xml - 节点集长度

在 XLST 中,如何找出节点集的长度?

0 投票
3 回答
2325 浏览

xml - XML 解析器验证报告

大多数 XML 解析器会在文档中出现第一个错误后放弃。事实上,IIRC,这实际上是解析器“官方”规范的一部分。

我正在寻找可以打破该规则的东西。它应该接受一个给定的模式(假设一个有效的模式)和一个 xml 输入,并尝试在第一个错误之后继续进行,并为每个错误引发一个事件或在完成时返回一个列表,所以我可以使用它来生成某种报告文件中的错误。这个要求来自上面,所以让我们尽量将纯粹主义者的“但继续下去没有意义”的评论保持在最低限度。

我正在寻找可以评估文档是否格式正确以及是否符合架构的东西。理想情况下,它会将这些评估为不同类别的错误。我更喜欢 .Net 解决方案,但我也可以使用独立的 .exe。如果您知道使用不同平台的人,请继续发布它,因为其他人可能会发现它有用。

更新:

我希望我使用它的大多数文档大部分都是格式良好的。可能是一个 & 包含在数据中,而不是在这里和那里的 &,或者偶尔放错标签。我不指望解析器能够从任何事情中恢复,只是为了尽最大努力继续前进。如果一个文档太乱了,它应该尽可能多地吐出,然后是某种“致命的,无法继续”的错误。否则,模式验证部分非常简单。

0 投票
4 回答
134289 浏览

java - 如何在字符串中从 XML 加载 org.w3c.dom.Document?

我在一个字符串中有一个完整的 XML 文档,并且想要一个Document对象。谷歌出现了各种各样的垃圾。什么是最简单的解决方案?(在 Java 1.5 中)

解决方案感谢Matt McMinn,我已经确定了这个实现。它对我来说具有适当的输入灵活性和异常粒度。(很高兴知道错误是否来自格式错误的 XML SAXException- 或者只是错误的 IO - IOException。)

0 投票
20 回答
75299 浏览

xml - XML 属性与 XML 元素

在工作中,我们被要求创建 XML 文件以将数据传递给另一个离线应用程序,然后该应用程序将创建第二个 XML 文件以传回以更新我们的一些数据。在此过程中,我们一直在与其他应用程序的团队讨论 XML 文件的结构。

我想出的样本基本上是这样的:

另一个团队说这不是行业标准,属性只能用于元数据。他们建议:

我建议第一个的原因是创建的文件的大小要小得多。在传输过程中,文件中将有大约 80000 个项目。他们的建议实际上比我建议的要大三倍。我搜索了提到的神秘的“行业标准”,但我能找到的最接近的是 XML 属性应该只用于元数据,但说辩论是关于什么是元数据。

在冗长的解释之后(抱歉),您如何确定什么是元数据,以及在设计 XML 文档的结构时,您应该如何决定何时使用属性或元素?

0 投票
1 回答
5890 浏览

xml - Microsoft Office 2007 自动安装 - 编辑 config.xml 文件

我正在创建 Office 2007 的自动安装。要自定义 Office 2007 安装,Office 自定义工具 (OCT) 会为您完成大部分工作。OCT 的一项功能是能够在 Office 安装期间运行其他程序。然而它在这方面很差。

幸运的是,通过编辑config.xml安装程序文件中包含的适当文件,您可以更好地控制运行这些附加程序。在config.xml文件中,此功能由command元素定义。TechNet 上的这个链接谈到了它。

在本文档中,它指出:

我想在希望传递给正在执行的命令的参数中使用双引号。不幸的是,当我config.xml按照示例配置文件时,Office 2007 安装程序崩溃并在安装日志中显示以下错误消息:

有没有人有这个问题的经验?我很想从另一个角度来看待它。