【问题标题】:XML generation using fprintf使用 fprintf 生成 XML
【发布时间】:2011-09-16 18:33:53
【问题描述】:

使用 fprintf() 在 C 中生成 am xml 时,应注意什么? 我正在使用它,但是在 IE 中打开 xml 时遇到了一些问题;但是,在任何编辑器中,它都会显示正确的内容。

代码

int WriteXmlElement(const char* filename, const char* element, int iTextAssociated)
{
   FILE *fp = NULL;

   fp = fopen(filename, "a+");
   if(fp != NULL)
   {
      fprintf(fp, "<%s>\n",element);
      fprintf(fp,"</%s>\n" , element);

      fclose(fp);
      return 0;
   }
   else 
      return -1;

}

IE 中的 XML

<?xml version="1.0" encoding="UTF-8" ?> 
<Group /> 

任何编辑器中的 XML

<?xml version="1.0" encoding="UTF-8" ?> 
<Group> </Group>

【问题讨论】:

  • 请缩小您的问题范围。 “我应该记住什么”非常广泛,可能涉及很多事情。给我们一些关注点。
  • 当然。我在代码中使用了两个 fprintf 语句在 xml 标头之后打印 。现在,当我使用 IE 打开我的 xml 时,我看到 xml 标头后跟 (这是错误的),而任何编辑器都显示正确的内容。
  • 显示一些代码和输出怎么样?
  • 编辑您的问题以提供更多信息、代码或说明。

标签: c xml printf


【解决方案1】:

XML 正在生成就好了。 Internet Explorer 选择通过自动将 &lt;foo&gt;&lt;/foo&gt; 形式的空标签重构为仅用于显示目的的 &lt;foo/&gt; 来重新解释它(它不会修改磁盘上的文件)。如果您想确保生成的 XML 文件具有正确的内容,只需在常规文本编辑器而不是 IE 中查看它。

【讨论】:

  • 谢谢!!我将尝试向我的父节点(组)添加更多节点,然后检查 IE 是否正确显示。
【解决方案2】:

你正在做的方式是最简单的方式..但我更喜欢你使用http://www.minixml.org/

以你的方式确保这件事 1> 每个节点都应该按顺序关闭

2> 如果您在 & 之间没有写任何内容,则在它们之间放置一个空格 (如果你不写任何内容,某些浏览器会显示错误)

【讨论】:

    猜你喜欢
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多