我正在使用 libxml2 XMLTextWriter API(这里提供了官方示例)来输出 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
}
更新:测试并确认此方法有效。