问题标签 [xml-twig]

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 投票
1 回答
496 浏览

xml - 输出 XML::Twig 对象内容

例如,我有一个 Perl XML::Twig 对象$xmlDef,它包含以下内容:

它是使用以下代码生成的:

当我查看$xmlDefusing$xmlDef->print时,其内容会正确输出到控制台。当我这样做时print $xmlDef->text,没有任何输出。使用我做错了->text什么?

0 投票
1 回答
768 浏览

xml - Perl XML::树枝。巨大的文件处理。如何处理重复输入和不存在的输入

我有一个巨大的 XML 文件(大约 10 Gb),我需要将其转换为 CSV。现在该文件将包含有关众多客户的信息。我必须将其转换为 CSV 格式。问题是许多客户会有其他客户没有的额外字段,并且某些字段会重复。XML的例子是:

现在你可以看到第一个客户只有 1 个 auc 块,但第二个客户有 2 个,而且它在 auc 中还有一个额外的标签,即 extraBit。现在的问题:

  1. 我应该一次处理一位客户(从一位客户到 /customer,然后以此类推),因为 10 Gb 一次会使系统崩溃。

  2. 我尝试在循环中使用 XML TWIG,当我尝试为客户 1 使用 extraBit 时,它终止了“未定义值”的程序:

    打印 $customer->first_child('extraBit')->text()

    无法在 xml-tags.pl 第 50 行的未定义值上调用方法“文本”。

  3. 对于客户的额外 auc 值,我希望它们在 CSV 文件中输出为:

    customerID,algoId,kdbId,acsub,extraBit,algoId2,kdbId2,acsub2,extraBit2

    1,0,1,1,,,,,,,

    2,0,1,1,1234,2,3,3,67890

0 投票
2 回答
393 浏览

xml - 使用 XML::Twig 处理巨大文件 (>10 GB) 的性能问题

我必须处理一个巨大的 XML 文件(>10 GB)才能将其转换为 CSV。我正在使用XML::Twig.

该文件包含大约 260 万客户的数据,每个客户将有大约 100 到 150 个字段(取决于客户资料)。

我将一个订阅者的所有值存储在 hash%customer中,处理完成后,我将 hash 的值输出到 CSV 格式的文本文件中。

问题是性能。处理它大约需要 6 到 8 个小时。怎样才能减少?

详细标签包括多个字段,包括嵌套字段。所以我每次都会调用一个函数来收集不同类型的字段。

其他函数 *(value2, value3) 也是如此。我没有提到其他保持简单的功能。

现在的问题是:我foreach为每个孩子使用,即使几乎每次孩子实例在整个客户资料中只出现一次。它会导致延迟,还是有任何其他建议可以提高性能?线程等?(我用谷歌搜索,发现线程并没有多大帮助。)

0 投票
3 回答
171 浏览

xml - XML Twig 总是编辑 XML

我确定我没有正确使用它,我的代码:

如果 XML 中没有与该 XPath 表达式匹配的元素,则 XML 似乎是空的……它会截断文件。我想要的行为是:如果没有匹配的元素,则根本避免编辑 XML。

0 投票
1 回答
108 浏览

perl - XML::Twig.pm vs XML::Twig.pm.slow 这是内部 CPAN 的区别吗?

在 all 选项下搜索 XML + Twig 会为 Xml::Twig 生成两个结果。在清单中,它们显示为 XML::Twig,但链接本身的不同之处在于其中之一的后缀 .slow。

模块有区别吗,或者这是某种 CPAN Area51 的东西?

0 投票
1 回答
254 浏览

xml - XML Twig 不缩进新添加的元素?

XML的相关部分看起来像

我的代码:

问题是添加的元素出现在一行中,并且不像其他元素那样真正缩进。我也试过$tree->print(pretty_print => 'indented')没有运气。

0 投票
2 回答
1235 浏览

xml - 如何替换 XML 属性名称值

我有以下 XML:

我需要将 value1 修改为其他内容,到目前为止,我可以编写以下 Perl 脚本:

但什么都没有改变!任何想法都非常感谢。

问候,贝扎德

0 投票
1 回答
73 浏览

html - 如何轻松地将提取的 HTML 部分重新包装到新文档中

我使用 XML::Twig Perl 模块从 HTML 文档中提取一个 div,并希望创建一个仅包含该 div 和所需 HTML 包装的新 HTML 文档。然后我还会在新文档中添加一些 CSS 样式。

提取 div 很容易,但我懒得自己编写围绕它的 HTML :-)。

肯定有一个 Perl 模块可以为我完成那个无聊的部分。或者甚至是我忽略或不理解的 XML::Twig 本身的方法?

0 投票
1 回答
418 浏览

perl - Perl XML::Twig - 在属性中和属性周围保留引号

我选择性地修复了一些元素和属性。不幸的是,我们的输入文件包含单引号和双引号的属性值。此外,某些属性值包含引号(在值内)。

使用 XML::Twig,我看不出如何保留属性值周围存在的任何引号。

这是示例代码:

上面的代码为 label1 返回了无效的 XML:

如果我添加:

然后我们会看到 label2 的 XML 无效:

是否有保留现有报价的选项?还是有更好的方法来选择性地固定树枝?

0 投票
4 回答
734 浏览

xml - XML::Twig 或其他中的 XPath 变量

我正在使用XML::Twig::XPath处理 ITS 数据,并试图弄清楚如何使用其中的变量解析 XPath 表达式。这是我需要从 ITS规范中使用的示例:

我需要能够评估 中包含的 XPath 表达式selector,变量的值是its:param元素的内容。我不知道如何做到这一点。XML::XPath的文档提到了变量(我假设它应该是上下文的一部分),它甚至有一个类来表示它们,但是文档没有说明如何在上下文中指定变量。如果可能的话,我会更加不确定如何从 XML::Twig 访问此类功能。

有谁知道如何做到这一点?或者,您能否举例说明如何将此类功能与另一个模块(例如 XML::LibXML)一起使用(其中广泛提及变量,但让我有点不确定如何使用字符串变量执行此操作)?