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

问题描述 投票:0回答:1

我正在使用 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
}
c xml libxml2
1个回答
5
投票

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

更新:测试并确认此方法有效。

© www.soinside.com 2019 - 2024. All rights reserved.