问题标签 [xml-simple]

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 投票
2 回答
159 浏览

xml - 合并 XML 文档层次结构

背景

我正在设计一个使用 XML 文件作为配置和设置信息输入的 Perl 应用程序。将有一个文档层次结构,全局数据被更多本地信息覆盖。

我的程序将使用最本地的设置文件调用,该文件将包含更通用文件的路径。一些本地设置将是绝对的,并且这些设置将在程序中进行硬编码。

初始化任务是从最高级别获取调用设置,将它们读入,然后进入每个级别,并将它们合并/加入为单个 XML 文档。

样本数据

Global_layouts_100.xml

Global_properties_100.xml

Global_70.xml

本地.xml

现在,如果程序将被赋予 local.xml 以启动和 CUS 作为 arg 来处理,我希望看到这个 XML(或等效的 perl 数据结构):

而且,如果程序将被赋予 local.xml 以启动和 XYZ 作为 arg 来处理,我希望看到这个 XML(或等效的 perl 数据结构):

问题

合并这些 XML 文档最有效的方法是什么?

我可以使用返回的数据结构自己完成XML::Simple,或者我应该使用其他一些 XML 工具?

我希望我的问题足够清楚,不需要示例 XML 数据。如果您需要查看某些内容,那么我可以发布一些示例内容。

简而言之,合并单个 XML 文档层次结构的最佳方法是什么?

0 投票
2 回答
933 浏览

xml - 使用 XML::Simple 解析 XML 数据并附加一个新元素

我正在使用XML::SimpleXML::Dumper。我很清楚围绕前一个模块的问题。如果我可以使用替代库,我会的。

我想要实现的是加载 XML,然后将行附加到它。这是我在脚本运行之前的 XML 结构。

脚本,或者我打算编写的代码,应该从文件中加载这个 XML,然后将一个<param>元素附加到<appearence>. 我已经尝试使用此代码:

不幸的是,输出是这样的:

我不仅丢失了原始<person>标签,<opt>而且该HASH字符串替换了我假设的现有<param>元素。我已经阅读了文档,XML::Simple但我不知道应该使用什么参数来防止这种情况发生。

0 投票
3 回答
1562 浏览

xml - Perl,删除 XML 节点

数据.xml

我有这段 XML。我正在编写一个脚本以将节点附加<person><people>节点。我正在使用 XML::Simple

(请不要建议我使用另一个库,我知道它的困难)。

上面的代码将为我提供我希望删除的节点的索引。从这一点开始,我遇到了麻烦。我无法找到从数据中删除此索引的正确方法。
到目前为止,我已经尝试了一种 using 的方法splice,它返回了我想要删除的 XML 部分,然后我用来XMLout()将数组转换回 XML。使用=~ s///g,我能够编辑节点更改(<person>成为<opt>)。一旦我XMLout()'ed有了原始的 data.xml 结构,我就尝试用原始结构的空字符串替换 XML 的可移动部分的变量。

显然,这没有奏效。

我将如何通过删除数组数据或删除纯文件文本来删除这部分 XML,以便将新结构写回原始 data.xml 文件?

0 投票
3 回答
12586 浏览

xml - 为什么 XML::Simple 不受欢迎?

从以下文档XML::Simple

不鼓励在新代码中使用此模块。其他模块也可以提供更直接和一致的接口。特别是,强烈推荐使用 XML::LibXML。

这个模块的主要问题是大量的选项以及这些选项交互的任意方式——通常会产生意想不到的结果。

有人可以为我澄清造成这种情况的主要原因是什么吗?

0 投票
2 回答
96 浏览

xml - 在 perl 中使用 xml::simple 引用顶级 xml 对象

一直把我的头撞在墙上试图弄清楚这一点。只是尝试编写一个脚本,最终将这些游戏文件的各个组件链接在一起(例如 wiki)。我敢肯定,这是一个简单的问题,即没有正确地遵守,但我一生都无法弄清楚。

这是 XML 的示例:

这是实际的程序

真的只是在寻找一些东西,比如我如何pistol从 foreach 访问实际的项目名称(在这种情况下),以及我将如何深入到一个属性或一个属性的属性。我很确定我只是搞砸了哈希与数组的区别,或者没有正确设置项目,但我还没有找到任何与我的 xml 数据足够接近的示例来弄清楚。

(数据转储器给了我这个)

错误:

没有更多的错误!

0 投票
2 回答
48 浏览

xml - 如何对不一致的 XML 进行分区 - Perl

说说你如何使用 perl 解析这个特定的 XML

一点背景知识:我正在编写一个 perl 脚本,其中我将 XML(datamod) 分成两个 XML 文件。

示例:现有 XML

下面是编写的 perl 片段

预期输出到两个临时文件

临时文件 1:

临时文件 2

注意:我正在使用该XML::Simple模块,因为 Perl 脚本是在其中编写的,并且转换为任何其他 XML 模块都很乏味。

任何帮助表示赞赏,请发布重写的片段!

0 投票
1 回答
320 浏览

perl - 带有包含无效 xml 字符的字符串的 XMLin

我在我的一个 perl 脚本中使用 XML::Simple 来提取一些消息,问题是我收到了这个错误:

当我使用XMLin( $msg )$msg包含像“&”这样的无效字符时

我知道我可以使用正则表达式来删除它们,但我不想这样做。我可以使用替换 & &amp;

当我使用 perl 时,是否有一种简单的方法来处理字符串中的这种无效字符XMLin( $msg )

示例$msg可以像:<Error>Exception Invalid address (&F5F5F5F5)</Error>

0 投票
1 回答
95 浏览

xml-simple - ruby gem xml-simple:不同输入的相同输出

我正在为 xml-simple (1.1.5) gem 苦苦挣扎。这是我在 test.xml 中的输入:

现在看看使用 irb 会发生什么,如下所示:

所以显然第一条和最后一条记录虽然不同,但在输出中给出了相同的哈希值。
这是一个错误吗?

0 投票
2 回答
349 浏览

xml - Perl XML::Simple: SuppressEmpty for xsi:nil-Elements 没有内容?

我在 Perl 中的 XML::Simple 和可为空的元素中苦苦挣扎。

所以这是我的例子-XML:

如果我使用XMLinSuppressEmpty => 1阅读此内容,我将为EmptyOne获得一个空字符串,但为NullableElement获得一个带有xsi:nil="true"的哈希。我的问题是,我如何告诉 XMLin 忽略 xsi:nil-Content 并只给我一个空字符串或 undef?这甚至可以使用 XML::Simple 还是我应该切换到 Lib::XML?

这里有一些代码可以查看结果:

0 投票
1 回答
104 浏览

php - 通过topic->icon_id获取属性

我正在尝试通过 xml 显示主题图标。

如何从正确的图标 ID 中获取图标。现在他总是加载 id 0。

感谢您的帮助。

我尝试并搜索了建议的示例,但没有运气。


xml:

php: