问题标签 [xml-libxml]
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.
xml - xml不同级别的相同标签名称
我正在尝试使用 Perl XML::LibXML::reader module 解析 xml 文档。该模块运行良好,我能够解析大部分文档,但是 xml 中的某些部分可能在不同级别上有多个具有相同名称的元素,我不知道如何处理和处理这些元素,
我想要做的是将下面的 strcutre 转换为方便的 perl 数据结构我尝试使用XML::Simple和XML::Twig smplify 子例程(见下文)除了 XML::LibXML 但用它们解析本节是非常慢(比没有它们解析文档慢 20 倍),
有人可以建议我如何解析以下部分以更快地使用 XML::LibXML::reader 来实现 perl 数据结构。任何帮助不胜感激
xml - Perl XML:LibXML setAttribute 不改变文档
我正在尝试使用 Perl 更改 XML 属性。
XML 文件如下所示:
Perl 脚本包含:
结果,脚本不会更改属性。我已经测试了权限,脚本可以使用print
.
setAttribute
hasAttribute
尽管返回 true ,但似乎什么也没做。
xml - 用于(x)html 的 perl xml::libxml dom 解析器的一组有用的食谱示例?
一些用于 xml 的更简单的 perl dom 解析器的作者似乎不鼓励将它们用于混合内容,而支持 XML::LibXML。所以我现在开始学习 XML::LibXML 并且正在寻找常用的食谱示例。考虑从网络上读取 (x)html 文档并对其进行操作。(perl cookbook 2nd edition 现在已经有 10 年历史了,这里的覆盖范围相对较弱。)我发现我想从以下内容开始:
初学者可以使用的好食谱示例包括
将 $dom 转换为 perl 数据结构。Data::Dumper($dom) 并没有给我带来什么特别有趣的东西。当然,我想转换两种方式:从和到。
漂亮地打印输出,也许有一些控制。
将 html 清理为 xhtml。
用逻辑进行转换。(有使用单个 dom 元素做事的好例子,但我认为更通用。)例如,我如何对两个连续的 dom 元素进行操作?我有一个 XAB。如果因此连续(例如,style="width:0"),我想向 sup 添加一个“类”或“样式”。
将所有类和样式分解为一个最小的模板样式表。
XML::LibXML 的其他“酷”和“简单”用途。
(留给后续编辑问题以响应有用的食谱)建议:
(a) 用递增的 id 枚举 <ul> 内的每个 <li>(例如,<li id="1"> ... <li id="2"> ...)。可以用多个元素来完成
(b) 迭代多个标签(例如,按出现的顺序打印出所有 li、dl 和 dt)
样品赞赏。
/iaw
perl - Perl LIBXML:使用带有属性的 findnodes 到达 xml 文件中的节点
XML 文件如下所示:
当我使用属性(名称)的硬编码值而不是使用变量时,我的代码如下所示并且工作正常。我正在引用该行( my $query =
'//application[@name="pos"]'; )
但是,如果我修改 $query 变量以使用变量 ($applicationName) 而不是属性的硬编码值,它会给我一个编译错误,如下所示:
无法在 updateManifest.pl 行的未定义值上调用方法“appendChild”
修改后的代码:
不知道出了什么问题。跟引号有关系吗?任何帮助深表感谢。
perl - Perl XML::LibXML - 无法替换替换元素值
XML 文件如下所示
我想kportal
为特定工件节点的节点添加一个值,使其看起来像<kportal>KPORTAL-1</kportal>
我的代码看起来像这样
我收到错误
xml - Recursively traversing through XML nodes in perl XML::LibXML
I have a xml which i need to parse the xml and traverse till the last child , the XML will be dynamically generated so i do not know the depth of the XML , Can i iterate through the xml till its last child and siblings if any . Please help in resolving this issue :
My code snippet is :
This prints the node till depth 2 but if the depth is 3 i mean the root has one child and the child my code prints it but if there is another child here the code will not print and can not guess ..How can i find this .
Thanks in advance.
linux - 验证 XSD 时 perl libXML 崩溃
我正在将应用程序迁移到最新的 Debian,并且在针对 XSD 验证 XML 时出现奇怪的服务器错误
什么导致
* 检测到 glibcperl: free(): 无效指针: 0x0000000001cca220 * * ======= 回溯: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7fa0edd5fd76 ] /usr/lib/perl5/auto/XML/LibXML/LibXML.so(PmmREFCNT_dec+0xa3)[0x7fa0ed27c543] /usr/lib/perl5/auto/XML/LibXML/LibXML.so(XS_XML_LibXML_Node_DESTROY+0xeb)[0x7fa0ed260a4b] /usr/lib/libperl.so.5.14(Perl_pp_entersub+0x58c)[0x7fa0ee7ce70c] /usr/lib/libperl.so.5.14(Perl_runops_standard+0x16)[0x7fa0ee7c5ce6] /usr/lib/libperl。 so.5.14(Perl_call_sv+0x45b)[0x7fa0ee7619db] /usr/lib/libperl.so.5.14(Perl_sv_clear+0x559)[0x7fa0ee7d4bd9] /usr/lib/libperl.so.5.14(Perl_sv_free2+0x52)[0x7fa0ee7d5292] /usr/ lib/libperl.so.5.14(Perl_leave_scope+0x122f)[0x7fa0ee7fccef] /usr/lib/libperl.so.5.14(Perl_pp_leave+0xf2)[0x7fa0ee7cb112] /usr/lib/libperl.so.5.14(Perl_runops_standard+0x16)[0x7fa0ee7c5ce6 ] /usr/lib/libperl.so.5.14(perl_run+0x3a5)[0x7fa0ee767815] perl(main+0x149)[0x400f89] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fa0edd07ead] perl[0x400fc1] ======= 内存映射:======== 00400000-00402000 r-xp 00000000 08:01 137813 /usr/bin/perl
等等
我认为尝试释放分配的内存时它失败了。我试过克隆这些对象,但似乎没有什么能阻止它。这在全新安装 wheezy 和 jessie 时失败
xml - 在 perl 中使用 XML::LibXML 修改 xml 的标记属性值
我正在尝试使用 LibXML 修改 XML 文件中的属性值。这是我的 xml 文件的一部分
这是我尝试过的脚本。
当我执行此脚本时,我收到一条错误消息,例如。
我知道它无法解析,但为什么呢?我的 xml 文件很大。是问题还是我的脚本?请指导我应该做什么。谢谢。
xpath - 在 libxml 中使用 XPath 函数
我正在尝试使用libxml 2.8.0 评估某些 XPath 表达式,并收到带有函数的错误消息。我不清楚 libxml 是实现 XPath 规范的全部还是一部分。是否有任何资源清楚地确定实现了什么以及如何使用它?
在我的具体情况下,我试图评估的一个表达式是:
我通过 XML::LibXML Perl 模块使用 libxml,但我也尝试了使用 xmlsoft.org 提供的xpath1.c
示例工具的表达式,并得到了相同的错误消息:
我已经尝试过使用和不使用fn
命名空间,无论是使用xpath.c
Perl 脚本还是我的 Perl 脚本,都得到了相同的结果。
xml - Perl LibXML 从 LWP HTTPS 数据解析缩放器
我正在尝试从 HTTPS 网站获取文本。我已经使用 LWP 完成了这项工作,但我需要解析信息,因为它是 XML。我想我已经找到了如何做我想做的事情,XML::LibXML
但我无法LWP::UserAgent
使用它访问数据。
这是我的代码:
我收到错误: No such file or directory
消息,我尝试的每个解析器方法都会出错,并且 LibXML 解析器字符串方法不起作用,因为我的数据有很多行。我需要一种方法来欺骗XML::LibXML
认为$t
是文件或文件句柄,或者找到另一种方法来解析我的数据。如果可以帮助的话,我不想实际创建一个文件。
作为参考,这是我从 HTTPS 网站获得的 XML 数据,上面的代码存储在$t
:
任何帮助表示赞赏,谢谢。