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
}
答
它看起来像xmlTextWriterWriteFormatString或xmlTextWriterWriteString会做的伎俩。不知何故,当我仔细查看API的细节时,我最初错过了 。
与其删除,我会离开这里,因为此信息可能对其他人快速查找此信息有用。
例子:
if (xmlTextWriterStartElement(writer, BAD_CAST "MyElement") < 0
|| xmlTextWriterWriteAttribute(writer, BAD_CAST "myAttrib", "x") < 0
|| xmlTextWriterWriteString(writer, "Content") < 0
|| xmlTextWriterEndElement(writer) < 0)
{
// Handle error
}
更新:经过测试,证实了这一工作。