Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Xerces替换文本元素中的换行符_C++_Xerces - Fatal编程技术网

C++ Xerces替换文本元素中的换行符

C++ Xerces替换文本元素中的换行符,c++,xerces,C++,Xerces,我有一个程序,它读取xml文件(FileZilla设置文件),添加一个用户,然后使用Xerces再次写入该文件 问题是,默认情况下,初始欢迎消息元素文本包含此格式的CR+LF 和Xerces设法以某种方式将其转换为实际的CR+LF,因此文件中的数据从此处开始 <Item name="Initial Welcome Message" type="string">%v&#x0D;&#x0A;written by Tim Kosse (tim.kosse@

我有一个程序,它读取xml文件(FileZilla设置文件),添加一个用户,然后使用Xerces再次写入该文件

问题是,默认情况下,初始欢迎消息元素文本包含此格式的CR+LF

和Xerces设法以某种方式将其转换为实际的CR+LF,因此文件中的数据从此处开始

<Item name="Initial Welcome Message" type="string">%v&#x0D;&#x0A;written by Tim Kosse (tim.kosse@filezilla-project.org)&#x0D;&#x0A;Please visit https://filezilla-project.org/</Item>

我假设可以通过修改解析器或序列化程序中的某些设置来解决这个问题(我不知道问题是从哪里来的),但我不知道该设置是什么。

几年前我对Xerces的记忆相当糟糕。我的建议是,如果你有可能这么做,尽快逃离这场恐怖。TinyXML-2是一个可以考虑的替代品(简单得多)。非常同意您的意见,但除了这个小问题之外,它实际上做了我希望它做的事情。。。至少现在。。。
<Item name="Initial Welcome Message" type="string">%v
written by Tim Kosse (tim.kosse@filezilla-project.org)
Please visit https://filezilla-project.org/</Item>
XercesDOMParser parser;

parser.parse(m_settingsPath.c_str());

DOMDocument* doc = parser.getDocument();

// New user added here

DOMImplementation *impl          = DOMImplementationRegistry::getDOMImplementation(L"LS");
DOMLSSerializer   *theSerializer = ((DOMImplementationLS*)impl)->createLSSerializer();

DOMConfiguration* serializerConfig=theSerializer->getDomConfig();

if (serializerConfig->canSetParameter(XMLUni::fgDOMWRTFormatPrettyPrint, true))
    serializerConfig->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint, true);

return theSerializer->writeToURI(doc, L"C:\\work\\temp\\test.xml");