标签: libxml2

libxml2无法从节点获取内容

我在C中使用libxml,这就是我创建xml的方法:

xmlDocPtr createXmlSegment(char *headerContent, char *dataContent)
{
  xmlDocPtr doc;
  doc = xmlNewDoc(BAD_CAST "1.0");
  xmlNodePtr rdt, header, data;
  rdt = xmlNewNode(NULL, BAD_CAST "rdt-segment");
  xmlSetProp(rdt, "id", "1");
  header = xmlNewNode(NULL,BAD_CAST "header");
  data = xmlNewNode(NULL, BAD_CAST "data");
  xmlNodeSetContent(header, BAD_CAST headerContent);
  xmlNodeSetContent(data, BAD_CAST dataContent);
  xmlAddChild(rdt, header);
  xmlAddChild(rdt, data);
  xmlDocSetRootElement(doc, rdt);
  return doc;
}
Run Code Online (Sandbox Code Playgroud)

这就是我想从那个xml获取数据的方式:

int getDataFromXmlSegment(char *data, char *header, char *content)
{
  xmlDocPtr doc = xmlReadMemory(data, strlen(data), NULL, NULL, XML_PARSE_NOBLANKS);
  xmlNode *rdt = doc->children;
  xmlNode *headerNode = rdt->children;
  header = (char *)headerNode->content;
  content = …
Run Code Online (Sandbox Code Playgroud)

c xml libxml2

8
推荐指数
1
解决办法
1万
查看次数

libxml2是否支持XSD 1.1

libxml2最新版本是否支持XSD 1.1进行XML验证?

我使用libxml2 v2.6.30进行XSD(schema)1.0的XML验证.但是,我不支持XSD v1.1.我不确定最新版本的libxml2是否支持XSD 1.1.任何的想法?

xml xsd libxml2 xml-validation xsd-1.1

8
推荐指数
1
解决办法
1221
查看次数

如何使用Perl的XML :: LibXML提取标签中的属性?

我有一个XML文件

<PARENT >
<TAG string1="asdf" string2="asdf" >
</TAG >
</PARENT>
Run Code Online (Sandbox Code Playgroud)

我想在这里提取string2值..而且我想将它设置为一个新值..

怎么做?

perl libxml2

7
推荐指数
2
解决办法
1万
查看次数

在Win32中构建最新的iconv和libxml2二进制文件

我正在努力让MinGW和MSYS工作,所以我可以在Windows中构建iconv和libxml2,但是我发现./configure和make会给出很多与BSD/Unix相关的错误,这些错误不够具体到google,而不是描述性足以让我弄清楚.任何人都可以通过一些步骤来获得在Win32机器上构建的iconv和libxml2 .dll/.lib吗?

我正在为一些软件更新库,我今天整天都在忙着解决这个问题并且没有想到它.我得到了最新的libpng,zlib和curl,没有任何问题,但我发现这些库没有太多支持或操作方法,就像其他库一样.任何帮助将非常感谢,提前感谢您的时间.

詹姆士

c++ mingw msys iconv libxml2

7
推荐指数
1
解决办法
1万
查看次数

我可以将系统库(例如libxml2)编译成一个我可以部署到Heroku的gem(例如nokogiri)吗?

Nokogiri在转换为UTF-8字符时出现问题,后者最终来自libxml2,特别是版本2.7.6,这是Ubuntu 10.04 LTS上支持的最高版本.该错误已在2.7.7及更高版本中修复,但由于我们的应用程序托管在Heroku(bamboo-ree-1.8.7堆栈,基于Ubuntu 10.04)上,我们必须使用2.7.6版本,并继续体验bug,除非:

  1. 有人可以/已经攻击了nokogiri以解决问题
  2. Canonical颠覆了Ubuntu 10.04支持的libxml2版本(和/或Heroku更新了堆栈中的libxml2)
  3. 我可以想出一种方法让nokogiri使用libxml2版本,我可以将其与应用程序捆绑在一起,以便可以部署到Heroku.

很高兴听到有关1或2的任何反馈,但很好奇3是否可行.以下是我所知道的可能性:

我的问题是,我可以在应用程序中包含更高版本的libxml2,以便在我提交它并将其推送到Heroku时,已编译的供应商宝石使用它吗?

ruby-on-rails heroku libxml2 nokogiri ubuntu-10.04

7
推荐指数
1
解决办法
973
查看次数

带有libxml的Swift框架

我有使用KissXML Objective-C库的Swift Framework项目.KissXML内部使用libxml.

当我构建xcode项目(Xcode 6 - beta 5)时,我收到此错误:

error: <unknown>:0: error: '/SwiftFramework/SwiftFramework/KissXML/DDXMLNode.h:2: include of non-modular header inside framework module SwiftFramework.DDXMLNode

我已经看到这个答案讨论了将相关的头文件公开.我已经这样做但我不知道如何解决在DDXMLNode.h中导入的此标头的情况,并且这不是我的项目的明确部分:

#import <libxml/tree.h>

有关如何处理这个的任何建议?

注意:我在Objective-C only项目上使用过KissXML,它工作正常(Xcode 5).

frameworks libxml2 ios kissxml swift

7
推荐指数
1
解决办法
4118
查看次数

无法在r中安装XML包

我正在尝试在r中安装"XML"包,但是会发生错误.
请告诉我出了什么问题.

OS:OS X 10.11.6
R版本:3.3.2
执行"install.packages("XML")时的错误消息如下.

* installing *source* package ‘XML’ ...
** package ‘XML’ successfully unpacked and MD5 sums checked
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc …
Run Code Online (Sandbox Code Playgroud)

xml r libxml2

7
推荐指数
2
解决办法
3511
查看次数

在Swift 3中使用LibXML2下载时从服务器解析大型XML

我在Swift 3中遇到了来自LibXML2的SAX解析器的问题.
我想XMLPullParser在iOS中使用类似Android的东西.从服务器下载XML并在下载时解析Stream.

我的XML看起来像这样:

<?xml version="1.0" encoding="UTF-8" ?>
<ResultList id="12345678-0" platforms="A;B;C;D;E">
    <Book id="1111111111" author="Author A" title="Title A" price="9.95" ... />
    <Book id="1111111112" author="Author B" title="Title B" price="2.00" ... />
    <Book id="1111111113" author="Author C" title="Title C" price="5.00" ... />
    <ResultInfo bookcount="3" />
</ResultList>
Run Code Online (Sandbox Code Playgroud)

因此,所有数据都存储在属性而不是子节点中.

我自己创建了以下类,主要基于以下示例:
XMLPerformance,XMLPerformance-SwiftiOS-XML-Streaming

import Foundation

class LibXMLParser: NSObject, URLSessionDataDelegate {

    var url: URL?
    var delegate: LibXMLParserDelegate?
    var done = false
    var context: xmlParserCtxtPtr?

    var simpleSAXHandlerStruct: xmlSAXHandler = {
        var handler = xmlSAXHandler() …
Run Code Online (Sandbox Code Playgroud)

c xml libxml2 ios swift

7
推荐指数
1
解决办法
576
查看次数

分发用 Swift 编写的通用框架

我正面临分发编译的 swift 框架的问题。我的框架严重依赖 libxml2 动态库。为了避免Swift 模块兼容性问题,我设置了构建标志 BUILD_LIBRARY_FOR_DISTRIBUTION = YES。

所以我使用 Xcode 11.3 Swift v5.1.3 来构建我的框架。我已将其集成到 Demo.app 项目中。正如预期的那样,Demo.app 在 Xcode 11.3 中运行良好。

但是,我在尝试在 Xcode 11.0 Swift 5.1 中构建 Demo.app 时遇到了另一个错误。我有错误:

#import "libxml/HTMLparser.h"
        ^
/Applications/Xcode_11.0.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator13.0.sdk/usr/include/libxml2/libxml/HTMLparser.h:15:10: error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
         ^
/.../DemoApp/ThirdParty/testXML.framework/Modules/testXML.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface:6:8: error: could not build Objective-C module 'libxml2'
import libxml2
       ^
/.../DemoApp/AppDelegate.swift:11:8: error: failed to load module 'testXML'
import testXML
Run Code Online (Sandbox Code Playgroud)

这是框架和应用程序项目回购

我在同一台 Mac 上同时使用两个 Xcode 版本。

xcode abi dylib libxml2 swift

7
推荐指数
1
解决办法
453
查看次数

在 M1 mac 上安装 lxml 时出现问题

所以,我在安装 lxml 时遇到了经典的麻烦。

\n

最初我只是进行 pip 安装,但是当我尝试使用释放内存时Element.clear()出现以下错误:

\n
Python(58695,0x1001b4580) malloc: *** error for object 0x600000bc3f60: pointer being freed was not allocated\n
Run Code Online (Sandbox Code Playgroud)\n

我认为这一定是因为 lxml 正在使用系统的 libxml2,它可能已经过时了。

\n

所以我使用 homebrew 安装 libxml2 和 libxlt,并强制链接它们。

\n

然后我尝试使用以下命令进行安装:

\n
\xe2\x9d\xaf STATIC_DEPS=true pip install lxml --no-cache-dir                                                13:01:46\nCollecting lxml\n  Downloading lxml-4.8.0.tar.gz (3.2 MB)\n     \xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81 3.2/3.2 MB 5.4 MB/s eta 0:00:00\n  Preparing metadata (setup.py) ... done\nBuilding wheels for collected packages: lxml\n  Building wheel for lxml (setup.py) ... done\n  Created wheel for lxml: filename=lxml-4.8.0-cp310-cp310-macosx_12_0_arm64.whl size=1683935 …
Run Code Online (Sandbox Code Playgroud)

python lxml pip libxml2 apple-m1

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

libxml2 ×10

xml ×4

swift ×3

c ×2

ios ×2

abi ×1

apple-m1 ×1

c++ ×1

dylib ×1

frameworks ×1

heroku ×1

iconv ×1

kissxml ×1

lxml ×1

mingw ×1

msys ×1

nokogiri ×1

perl ×1

pip ×1

python ×1

r ×1

ruby-on-rails ×1

ubuntu-10.04 ×1

xcode ×1

xml-validation ×1

xsd ×1

xsd-1.1 ×1