C语言xml配置文件换行的方法[通俗易懂]

C语言xml配置文件换行的方法[通俗易懂]/options参数设定成XML_PARSE_NOBLANKS,否则的话是不会在结点后面添加回车的。/doc=xmlReadFile(docname,“UTF-8”,XML_PARSE_NOBLANKS);//读取xml文件时忽略空格/把xmlSaveFormatFile的format参数修改成1,否则在使用xmlReadFile打开的xml文件时,在生成的xml文件里是会把所有的结点都放到一行里显示。/xmlSaveFormatFile(docname,doc,1);以上内容

大家好,又见面了,我是你们的朋友全栈君。

/options参数设定成XML_PARSE_NOBLANKS,否则的话是不会在结点后面添加回车的。/

doc = xmlReadFile(docname, “UTF-8, XML_PARSE_NOBLANKS); //读取xml文件时忽略空格

/把xmlSaveFormatFile的format参数修改成1,否则在使用xmlReadFile打开的xml文件时,在生成的xml文件里是会把所有的结点都放到一行里显示。/

xmlSaveFormatFile (docname, doc, 1);

以上内容转载于:https://blog.csdn.net/yezhen910328/article/details/41280451

方法一:

读取xml采用去除空白的模式,在最后保存时让libxml自动补充空白。

doc = xmlReadFile(docname, "UTF-8", XML_PARSE_NOBLANKS);
// 此处可加入xml增删修改处理... 
nRel = xmlSaveFormatFileEnc(docname, doc, "UTF-8", 1);

这种方法是最简单的,若原来功能已经做好了,只需要修改很少代码就可以达到效果;而且此方法大多数情况下都是有效可行的。

方法二:

插入新节点时,在后面多插入一个Text节点,内容带换行字符”\n”;若当前节点没有文本内容,可以设Content内容,同样带”\n”。


node1 = xmlNewNode(NULL,BAD_CAST"DataNode");
node2 = xmlNewText(BAD_CAST "\n ");
// 此处node1可加入额外属性设置代码...
xmlAddChild(node, node1);
xmlNodeSetContent(node1, BAD_CAST  "\n ");
xmlAddNextSibling(node1, node2);

方法一无法达到效果,或不能使用NOBLANKS模式,也可以尝试用此方法二;本方法是一定可行的,只是控制上稍微麻烦一些。

转载于:https://www.cnblogs.com/yisonli/p/4186359.html

但是我个人感觉上面的方法二麻烦,可以通过在xmlSaveFormatFile(xmlFileName,doc,1);代码之前需要增加两行代码

xmlKeepBlanksDefault(0) ;//libxml2 global variable .
xmlIndentTreeOutput = 1 ;// indent .with \n 

方法来达到自动换行的效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158146.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号