Libxml2:输出具有属性和内容的XML元素

问题描述:

我正在使用libxml2 XMLTextWriter API(其中一个官方示例提供here)来输出XML,但找不到任何示例或查看如何使用两种方法生成元素属性和内容,如下所示:Libxml2:输出具有属性和内容的XML元素

<MyElement myAttrib="x">Content</MyElement> 

令人惊讶的是,我没有看到任何有关SO的问题。也许是因为人们只是自己输出XML而不是使用库。

C代码我至今是:

if (xmlTextWriterStartElement(writer, BAD_CAST "MyElement") < 0 
    || xmlTextWriterWriteAttribute(writer, BAD_CAST "myAttrib", "x") < 0 
    || somehow print out content < 0 
    || xmlTextWriterEndElement(writer) < 0) 
{ 
    // Handle error 
} 

它看起来像xmlTextWriterWriteFormatStringxmlTextWriterWriteString会做的伎俩。不知何故,当我仔细查看API的细节时,我最初错过了 。

与其删除,我会离开这里,因为此信息可能对其他人快速查找此信息有用。

例子:

if (xmlTextWriterStartElement(writer, BAD_CAST "MyElement") < 0 
    || xmlTextWriterWriteAttribute(writer, BAD_CAST "myAttrib", "x") < 0 
    || xmlTextWriterWriteString(writer, "Content") < 0 
    || xmlTextWriterEndElement(writer) < 0) 
{ 
    // Handle error 
} 

更新:经过测试,证实了这一工作。