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

Libxml2: Outputting XML element with attribute and content

我正在使用 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
}

看来 xmlTextWriterWriteFormatString or 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
}

更新:已测试并确认此功能有效。