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
}
更新:已测试并确认此功能有效。
我正在使用 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
}
更新:已测试并确认此功能有效。