问题标签 [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 投票
3 回答
1302 浏览

xml - 我该如何更换XML::Simple 中的标签与原始标签名称?

我正在使用XML::Simple来编辑 XML 文件。之后更新的数据被发送到一个新的 XML 文件。但是这个过程会产生<opt></opt>要添加的标签,而原来的父标签会丢失。我想<opt>用原始标签名称替换。我怎么做?

0 投票
3 回答
15822 浏览

perl - 如何在 Perl 中使用 XML::Simple 解析多记录 XML 文件

我的数据.xml

我的测试.pl

输出:

评论:我用谷歌搜索并找到了这篇文章(处理单个 xml 记录)。 http://www.go4expert.com/forums/showthread.php?t=812 我用文章代码进行了测试,它在我的笔记本电脑上运行良好。

然后我在上面创建了我的练习代码来尝试访问多条记录。但失败了。我该如何解决?谢谢你。

0 投票
1 回答
1607 浏览

xml - Perl 对象到 XML 使用 XML::Simple

我正在尝试使用 XML::Simple CPAN 模块将我们数据库的输出转换为简单的 XML 结构。问题是,无论我尝试将什么选项传递给 XML::Simple,返回的输出都不是我所希望的。

我们试图输出的数据库表只是一堆具有定义的项目:

这是我们当前使用的 Perl 代码:

这将输出以下 XML:

我希望它输出如下:

我确信我忽略了一些小事情,所以请告诉我如何更改我们当前的实现以产生我们想要的 XML 输出。提前致谢!

0 投票
1 回答
109 浏览

ruby - 解析若昂使用简单的 xml

我在 rake 任务中使用 xml-simple gem 来解析 db 转储的内容。问题是数据库 xml 文件包含导致 xml-simple 崩溃的标题中的字符。有解决办法吗?

0 投票
2 回答
884 浏览

xml - 使用数组时 XML::Simple 是否保持顺序?

我正在使用 XML::Simple 解析一个 XML 文件,然后我想用它来以非常特定的格式编写输出文件。因此,输出顺序很重要。
据我了解,当 XML 转换为 perl hashref 时,顺序会丢失(因为 perl 哈希没有顺序)。但是当 XML::Simple 使用数组时呢?

例如:

给了我们一个类似的数据结构:

3 个“cd”结构被插入到一个数组中,那么它们的顺序是否总是与它们在输入文件中的顺序相同?

0 投票
3 回答
603 浏览

xml - 使用 XML::Simple 时如何删除幻数?

我做了一个这样的练习,我如何计算 XML::Simple 折叠成数组的 XML 元素的数量,这样我就不必对元素的数量进行硬编码?我打算使用代码来解析更大的 xml 文件。我不想手动计算元素。

我可以用一些计数来代替幻数吗,有点像person.count等等hobbie.length。据我所知,我可以在 C# 中方便地使用这种语句。

输出:

我的 Xml 源文件如下

0 投票
2 回答
6092 浏览

perl - XML::简单编码问题

我有一个要解析的 xml 文件:

它被Firefox完美解析。但是 XML::Simple 会破坏一些数据。我有一个这样的 perl 程序:

并得到:

这似乎不是我所期望的。我认为存在一些编码问题。难道我做错了什么?

UPD:我认为 XMLin 以 utf-8 格式返回文本(作为输入)。刚刚添加

它奏效了

0 投票
3 回答
724 浏览

xml - 如何从 XML::Simple::XMLout 压缩 XML?

我正在使用 XML::Simple 来解析和编辑一个非常大的 XML 文件,并且速度至关重要(到目前为止,我尝试过的所有方法中 XML::Simple 是最快的)

现在,一旦我的所有编辑完成,我就使用 XMLout() 将 XML 打印到文档中,尽管它以适当的缩进方式打印它,如果这是由人类阅读的,这很好,但在我的情况下完全没用。

没有空白的输出文件是 1.2 Mb,空白是 15 Mb。

我一直在使用:

但它似乎不仅是一个极端的 CPU 占用者,而且需要大量的内存来完成。

他们是一种将我的 XML 对象简单地输出为正确的 XML 而没有所有无用空格的方法吗?

谢谢

0 投票
2 回答
2192 浏览

xml - XML::来自复杂散列的简单输出元素顺序

关于设置由XMLout. 但是,我无法使用这些答案/示例来解决问题。

我有一个脚本需要输出一些 XML 数据,并且某些元素需要按一定的顺序打印。哈希非常复杂,我无法通过覆盖对象sorted_keys来获得任何结果。XML::Simple嗯,我做到了,但不是我想要的方式。

示例代码如下,问题的详细信息在代码下方。

所以,这个脚本的输出将是这样的:

item_list元素被打印出来,输出顺序是按字母顺序,通过name属性排序。输出顺序为 AAA、GGG、ZZZ。

但是,我需要的是在对i元素进行排序(从数字上,从最低到最高)时获得输出。因此输出将按 ZZZ、AAA、GGG 的顺序排列。

我无法控制哈希中的顺序(不是不使用Tie::...模块),所以我不能那样做。如果我使用NoSort => 1,输出将不会按任何特别排序,所以我最终会得到随机输出。

sorted_keys所以,我很确定必须有一种方法可以通过覆盖子程序来按照我想要的方式进行排序。但是,我无法得到我想要的结果,因为sorted_keys每个实例都会调用item_list. 当sorted_keysopt元素调用时,我只需访问整个哈希引用,但同样无法保证不依赖Tie::模块的输出排序。

现在,我已经设法让它以我想要的方式工作,通过使用Tie::IxHash模块,然后覆盖sorted_keys和(重新)创建一个 subhash item_list,通过将原始哈希中的值重新插入新的(有序的)一个,然后删除原始哈希中的子哈希,和用新的有序哈希替换它。

像这样的东西:

尽管这可行(到目前为止似乎工作可靠),但我确实相信必须有一种方法可以在不使用Tie::IxHash模块和进行所有哈希重新排序/重新排序的情况下实现这一点,并且只能通过某种方式从内部排序/返回某些数据sorted_keys

我只是想不通,而且我真的不明白sorted_keys应该如何工作(尤其是当您使用不同/复杂的输入数据集得到不同的结果时;),但我希望有人知道这一点.

我的意思是,我已经尝试XML/Simple.pm在子程序的最后一个返回行中修改自身并更改排序顺序sorted_keys,但我仍然得到按字母数字排序的输出。恐怕我无法弄清楚如何修改它,因此它不会排序,name而是排序i

0 投票
2 回答
447 浏览

xml - XML::Simple 忽略 emdash 标记?

我正在使用 XML Simple 来解析 XML 文件,有问题的部分如下所示:

出于某种原因,XML::Simple 完全忽略了<text>SECTION A <emdash/> HUMAN NECESSITIES</text> 我猜它是因为 emdash 标记,因为<text>AGRICULTURE</text>被解析得很好。我还尝试通过以下方式设置解析器:

还是不行。任何的想法?