问题标签 [libxml2]

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 回答
1603 浏览

c++ - 使用 libxml2 进行递归 XPath 查询的最有效方法是什么?

我为 libxml2 编写了一个 C++ 包装函数,使我可以轻松地对 XML 文档进行查询:

但是我有一个问题:我需要能够对我的第一个查询的结果进行另一个 XPath 查询。

目前我通过将整个子文档存储在我的 XPathResult 对象中来做到这一点,然后我将 XPathResult.subdoc 传递给 XPathQuery 函数。这是非常低效的。

所以我想知道...... libxml2 是否提供任何可以轻松存储 xpath 查询的上下文(可能是对节点的引用?)然后使用该引用作为 xpath 根执行另一个查询的东西?

0 投票
3 回答
871 浏览

python - Python XPath 结果仅显示 []

嘿,我最近才开始使用 Python,我想用一点 xPath 来使用它,问题是当我打印查询结果时,我只得到 [],我不知道为什么 =S

我没有任何错误只是一个[]。会是什么呢?还有比这里的 libxml2 更好的文档,因为我发现它确实令人困惑 =S


编辑

我更改了代码,所以现在我得到的不仅仅是 [] 我得到以下输出,这应该与我试图解析的 html 的无效性有关(但它不是我的,所以我不能修改它) . 关于如何告诉 Python 对这一事实更加宽容的任何想法?

^ 实体:第 3552 行:解析器错误:标记 tr 第 209 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记 tbody 第 208 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记表第 207 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记输入第 206 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记输入第 205 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记形式第 204 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标记表第 99 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标签 div 第 98 行中的数据过早结束

^ 实体:第 3552 行:解析器错误:标签正文第 96 行数据过早结束

^ 实体:第 3552 行:解析器错误:标记 html 第 3 行中的数据过早结束

^ Traceback(最近一次调用最后一次):文件“C:\Python26\lib\site-packages\libxml2.py”,第 1263 行,如果 ret 为 None,则在 parseDoc 中:raise parserError('xmlParseDoc() failed') libxml2.parserError : xmlParseDoc() 失败

它实际上是一个较长的列表,但将其全部放在这里是没有意义的,因为所有错误都是由于无效的 html 造成的。

0 投票
1 回答
320 浏览

python - Python 2.6.x 的 XML/XSL 库的选择

目前我有 2 个变种,LXMLlibXML2,它们似乎都可以工作。我已经尝试对两者进行基准测试,特别是用于将内存字符串和文件解析为 XML 并导入 XSLT 样式表并应用它们。虽然纯基于性能的测试表明 LXML 是最重要的(特别是应用样式表),但 libxml2 似乎已被用作许多其他语言的事实上的标准。此外,在解析 LXML 的过程中,实体替换似乎有些困难。

我的问题主要是:有没有人在生产中成功使用过 LXML,你的印象是什么?

0 投票
2 回答
1127 浏览

linux - 有没有办法在 Linux 上构建一个没有文本重定位的 libxml2?

下午好,

我在使用 libxml2 时遇到了困难。

我尝试构建 Perl 模块 XML-LibXML,它是我们标准运行时环境的一部分。但是,这次在 RHEL5 机器上安装失败,因为构建过程抱怨缺少 libxml2:

但是,该文件是可用的。开始构建

导致了真正问题的更多证据:

经过一番调查,我发现问题似乎libxml2.so是由文本重定位造成的:

Ans 因为我们在目标机器上激活了 SElinux,所以链接 libxml.2 失败了!

是否有可能libxml2正确创建,或者我是否必须要求管理员扭曲 SElinux 以允许重定位?

我真的不敢相信我是唯一一个在 SElinux 处于活动状态的 Linux 上遇到这个问题的人。我错过了什么?

任何帮助表示赞赏!

问候,斯特凡

0 投票
5 回答
1203 浏览

iphone - iPhone - TouchXML 是否使用未记录的 API?

最近我听说 Apple 正在使用工具来搜索对未记录 API 的引用,并因此拒绝 App Store 中的 iPhone 应用程序。

流行的Three20框架正在导致人们被拒绝。

我也刚刚看到KissXML库也引起了拒绝

我正在寻找一个基于 Objective C DOM 的 XML 解析器,现在正在考虑TouchXML

谁能确认 TouchXML 没有引用任何未记录的 API? 我不想冒险基于此应用程序被拒绝。

0 投票
5 回答
72084 浏览

python - 安装 libxml2 和相关的 python 绑定 - Windows

我正在尝试安装 libxml2,以便我可以设置 python 绑定并最终使用 lxml。

但是我无法在地球上工作,我应该解压缩文件。我无法成功谷歌。

我是否需要 Cygwin/MinGW 才能成功安装?

目前,我的 Python 文件夹中各自的目录中有 libxml2.tar.gz 和 libxslt.tar.gz 中的文件。因此,包含在 tar 中的文件位于 Python26\include\libxml2\libxml... 中,依此类推。

但是,当我运行 easy_install lxml 时,我收到以下输出:

任何帮助都会非常有帮助,因为我已经尝试了一个多星期了:(

谢谢

0 投票
2 回答
7123 浏览

c - 使用 libxml 获取节点的所有属性列表

我很难找到一种方法来提取节点的所有属性的列表,而不知道它们被称为什么。

我正在使用以下方法提取单个已知属性:

xmlGetProp(cur, (const xmlChar*)"nodename")

但是如何使用 libxml2 获取所有属性的列表?

问候,马吕斯

0 投票
5 回答
244 浏览

c++ - 有没有办法在进程结束时对静态成员做些什么?

我有一个使用 libxml2 的类。它具有静态成员,用于保存模式文件及其解析器的上下文。我正在使用 valgrind,它抱怨内存没有与模式上下文相关联被释放。这是因为您需要自己释放该内存。但是,由于这些上下文变量是静态的,我无法释放对象的销毁。有没有办法调用必要的自由函数,或者我应该忽略 valgrind。

0 投票
1 回答
762 浏览

python - python libxml2dom xpath问题

快速提问...我可以使用 libxml2dom 等创建/解析一大块 html...

但是,有没有办法以某种方式显示用于生成/提取html块的xpath..我假设有一些我找不到的方法/方法..

前任:

此时,thdr_ 是一个对象数组/列表。每个对象都指向一个 html 块(如果你愿意的话)

我试图弄清楚是否有办法获得,比如说,xpath,比如说,列表的 thdr_[x] 元素/项目......

IE:

任何想法/评论..

谢谢

-汤姆

0 投票
5 回答
2956 浏览

xml - 如何使用 Perl 的 LibXML 忽略错误的 xmlns 命名空间?

我有一个 XML 文档,它引用了一个不可用的命名空间:

我有一个读得很好的脚本,但只有当我删除上面的两个标签时,否则它读起来就搞砸了。可以忽略它吗?我正在考虑编写另一个脚本来遍历我所有的输入文件并删除这两行,但我认为可能有更好的方法?

如果我确实浏览了所有数据文件并删除了这两行,那么使用脚本执行此操作的最佳方法是什么?我想只是打开每个文件,搜索这些术语,删除它们,保存文件,你能想出更好的方法吗?谢谢。