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

标签 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
}

最佳答案

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

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

关于c - Libxml2:输出带有属性和内容的 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31556467/

相关文章:

c++ - libxml2 sax 解析器 - 提取文本节点

c - 编译动态库时消除对 MinGW 特定 DLL 的依赖

c - 超出数组最大索引的未定义行为

c - C 语言有处理无理数的大型精度库吗?

xml - 在 Perl 中添加对 XSLT 的引用,仅使用 XML :LibXML

php - 从 XML 流生成 CSV 文件以进行 MYSQL 导入

java - Android HttpUrlConnection 结果字符串被截断

iphone - REST -> XML -> 核心数据 -> UITableView 的好策略吗?

c - 将星号传递给c中的字符串

xml - Perl XML::LibXML 安装失败