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

时间:2015-07-22 07:24:19

标签: c xml libxml2

我使用libxml2 XMLTextWriter API(其中提供了一个官方示例here)来输出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
}

1 个答案:

答案 0 :(得分:4)

看起来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
}

更新:已经过测试并确认无效。