问题标签 [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.
xpath - 如何使用 xmllint 的 --pattern 选项?
我正在尝试了解 libxml 如何实现 XPath 支持,因此使用 xmllint 进行测试对我来说是有意义的。但是,显而易见的选项 --pattern 有点晦涩难懂,我最终使用了类似以下的内容:
这似乎有效,这很好,但我仍然很好奇。什么是 xmllint 的 --pattern 选项,它是如何工作的?
提供一个完整的例子。=)
c++ - libxml2 xmlChar* 转换为 char*
您将如何将 xmlChar* 转换/转换为 libxml2 库中的 char*?谢谢。
c++ - 使用 libxml 解析 XML
我在解析 XML 时遇到了一个小问题。我无法获得子节点的名称。
这是我的 XML 代码:
以下是我解析 XML 文件的方法:
我在控制台中得到的是:
为什么“cur->children->name”是“text”而不是“ParticleSystem”?
我做错了什么,我该如何解决?
谢谢。
python - 我需要 32 位 libxml2 用于雪豹上的 python 吗?
我在我的 sl mbp 上安装 scrapy 真是太难了。它需要libxml2,所以我开始安装它。从 macports 安装它似乎并没有拉下 python 绑定。
通过scrapy的说明(here)从源代码安装它确实安装了python绑定,但是当我运行'python -c“import libxml2”'时,我得到一个架构不匹配:
当我明确地将 libxml2 dll 构建为 32 位时,该错误就会消失,但是由于其他一些库不是 32 位,因此 libxslt 将无法构建。我害怕继续拉那根绳子。所以问题是-python 仅 32 位吗?我在这里做一些愚蠢的事情吗?
编辑- 这是 python 2.6
编辑 2 - 根据大众的需求,我在这里合并@Ned Deily 的精彩回答。归功于他,我只是根据他的回复发布我采取的步骤:
如果您一直在使用 mac 端口,(并且没有通过它们安装您需要的任何其他东西),请核对它们。
添加以下内容以/opt/local/etc/macports/variants.conf
防止使用下一个命令下载整个 unix 库
安装macports版本的python
为 scrapy 安装 pre-reqs
测试是否选择了正确的 python: run $ which python
,它应该说一些类似于“/opt/local/bin/python”的内容,并且它本身应该是指向 /opt/local/bin/python2.6 的链接.
测试是否存在正确的架构:运行file 'which python'
(单引号应该是反引号,应该吐出(对于运行 10.6 的英特尔 mac):
测试libxml安装成功
如果一切顺利,您应该不会得到任何输出。
安装scrapy
穿过街道(衣着整齐),为一切都完成而欣喜若狂。再次感谢 ned 的详细回复。
xml - 使用 XML::LibXML:如何创建命名空间和子元素并使它们一起工作?
我正在尝试用 FOAF 和 Perl 做一些事情。我对当前的解决方案不满意,我想推出自己的解决方案。请不要引用除XML::LibXML
.
作为参考,这里是 FOAF 文件的片段
现在,不包括空格,我正在尝试用XML::LibXML
. 但是,不幸的是,我被困在了第一行。这仅关注第一行:
我读到这是
- 元素
RDF
,在命名空间中rdf
声明rdf
命名空间xmlns
中具有值的属性http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
命名空间xmlns
中具有值的属性http://www.w3.org/2000/01/rdf-schema#
foaf
命名空间xmlns
中具有值的属性http://xmlns.com/foaf/0.1/
admin
命名空间xmlns
中具有值的属性http://webns.net/mvcb/
首先你需要一个 element rdf:RDF
,这似乎很棘手。阅读我发现的文档,但这似乎并没有达到我想要的效果:XML::LibXML::Document
createElementNS()
现在,我尝试createElement('rdf:RDF')
并且它有效!我得到了根元素rdf:RDF
。这就是我们应该创建根元素的方式吗?我只是读错了 XML 吗?
现在,我需要创建属性(模式声明)。我尝试了记录不佳XML::LibXML::Document
的 'screateAttributeNS
但它也不起作用:
事实上我得到了这个错误:“不能在属性上创建一个新的命名空间!” 这似乎与方法名称的含义以及文档上的描述相矛盾:“创建绑定到命名空间的属性”。
所以,我想,好吧,我不能create
,attributeNS
也许我set
可以attributeNS
。而且,这次我继续使用下一个记录在案的方法,XML::LibXML::Element
它看起来适用:setAttributeNS
.
这次我得到一个不同的错误:“错误的 ns 属性!” . 所以我回顾了一些测试,发现这个需要一个属性键值而不是命名空间声明来做我想要的。这不是我想要的。
以下是一些可能的组合和输出:
似乎 *NS 方法都不起作用,即使我知道它们与 XML 命名空间有关。最后,我尝试了非 NS 版本:
我有一种可怕的感觉,我做的不对。我做对了吗?如何使用 DOM 添加子元素(不使用appendTextChild
)?
整个文档XML::LibXML
的文档很差,但似乎是 Perl 为使用 DOM 快速创建 XML 提供的最好的东西。
xml - 使用 perl 的 XML::LibXML 你如何使用 XML Prefixes 而不是 xmlns 属性?
我相信这个问题可能曾在 2006 年在不同的网站上尝试过。但是,我当前的 XML/RDF 编写器 ( XML::LibXML
1.70) 以 xmlns 属性的形式输出元素名称空间。这将排除使用非命名空间感知解析器的人,他们只是对foaf:Person
. 我想知道是否有人知道 perl 中实现这一目标的简单方法,首先,使用XML::LibXML
. 或者通过不同的方式。
像这样的节点:
和这个:
应该看起来像:
有任何想法吗?我相信无论哪种方式在技术上都是正确的,但我宁愿不依赖其他人知道这一点。昨天我自己都不知道。
iphone - 如何在iphone中解析带有属性的标签内容?
我是 iphone 开发新手。我想从 url 的 HTML 文件中解析和检索特定内容。我有一个来自此链接的示例代码http://blog.objectgraph.com/index.php/2010/02/ 24/解析-html-iphone-开发/
他们正在检索源的 h3 标记中的内容,它正确显示与我们联系。我已将 url 更改为堆栈溢出并搜索标题,它正确检索标题。但我无法检索属性的内容标签。请帮帮我。请指导我。谢谢
iphone - 我不能在使用 libxml2 的 iPhone 上的 XPATH 中使用破折号
我正在尝试使用 KissXML for iphone 解析 HTML 数据。我注意到在 id() 标签中不能有破折号,否则它不会评估。例如,如果我想在我会做的元素
身份证(“富”)
但是,如果我尝试到达 element ,我会尝试
id("foo-bar")
libxml2 XPATH 引擎似乎没有返回任何内容。不过,它可以使用 XPATH 检查 Firefox。任何人遇到此问题并知道它发生的原因或有解决方法(除了使用绝对 XPATH 路径?)
xpath - 如何在 XPath 中为空节点的 text() 返回 ''?
<td></td><td>foo</td>
我想返回['', 'foo']
,但 libxml 的 xpath//td/text()
只返回['foo']
. 如何找到空标签''
而不是(不匹配)?