Разметка XML-документа при использовании класса XmlDocument - C#
Формулировка задачи:
Имею на входе такой xml (фрагмент, намеренно не форматирую как XML, чтобы здесь автопереносился как плайн текст):
<?xml version="1.0" encoding="utf-8"?><xliff xmlns:sdl="http://sdl.com/FileTypes/SdlXliff/1.0" version="1.2" sdl:version="1.0" xmlns="urn:oasis:names:tc:xliff:document:1.2"><doc-info xmlns="http://sdl.com/FileTypes/SdlXliff/1.0"><rep-defs><rep-def id="f78a46e2-3275-49d6-bccc-e34aec848c05-26"><entry tu="0c066fa8-4513-4840-8f41-a077b65a3690" seg="31" /><entry tu="f78a46e2-3275-49d6-bccc-e34aec848c05" seg="26" /></rep-def><rep-def id="21f5c042-50f4-4f35-a840-d6b6fbe9056b-50"><entry tu="85f942b8-162e-4c9e-a303-edafca0604ec" seg="52" /><entry tu="21f5c042-50f4-4f35-a840-d6b6fbe9056b" seg="50" /></rep-def></rep-defs></doc-info>...
итспользуя методы класса XmlDocument, просто читаю и сохраняю документ
Получаю в выходном файле "красивую" разметку
которая уже неправильно интерпретируется родным приложением. Просто линеаризация не помогает, так как не все должно линеаризовываться. Как избавиться от бонуса "красивой разметки"?
Листинг программы
- XmlDocument xdoc = new XmlDocument();
- xdoc.Load ("C:\Temp\1.sdlxliff");
- xdoc.Save ("C:\Temp\2.sdlxliff");
Листинг программы
- <?xml version="1.0" encoding="utf-8"?>
- <xliff xmlns:sdl="http://sdl.com/FileTypes/SdlXliff/1.0" version="1.2" sdl:version="1.0" xmlns="urn:oasis:names:tc:xliff:document:1.2">
- <doc-info xmlns="http://sdl.com/FileTypes/SdlXliff/1.0">
- <rep-defs>
- <rep-def id="f78a46e2-3275-49d6-bccc-e34aec848c05-26">
- <entry tu="0c066fa8-4513-4840-8f41-a077b65a3690" seg="31" />
- <entry tu="f78a46e2-3275-49d6-bccc-e34aec848c05" seg="26" />
- </rep-def>
- <rep-def id="21f5c042-50f4-4f35-a840-d6b6fbe9056b-50">
- <entry tu="85f942b8-162e-4c9e-a303-edafca0604ec" seg="52" />
- <entry tu="21f5c042-50f4-4f35-a840-d6b6fbe9056b" seg="50" />
- </rep-def>
- </rep-defs>
- </doc-info>
- ...
Решение задачи: «Разметка XML-документа при использовании класса XmlDocument»
textual
Листинг программы
- XmlDocument doc = new XmlDocument();
- XmlTextWriter wr = new XmlTextWriter(fileName, Encoding.UTF8);
- wr.Formatting = Formatting.None; // here's the trick !
- doc.Save(wr);
- wr.Close();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д