Разметка 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, просто читаю и сохраняю документ
Листинг программы
  1. XmlDocument xdoc = new XmlDocument();
  2. xdoc.Load ("C:\Temp\1.sdlxliff");
  3. xdoc.Save ("C:\Temp\2.sdlxliff");
Получаю в выходном файле "красивую" разметку
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <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">
  3. <doc-info xmlns="http://sdl.com/FileTypes/SdlXliff/1.0">
  4. <rep-defs>
  5. <rep-def id="f78a46e2-3275-49d6-bccc-e34aec848c05-26">
  6. <entry tu="0c066fa8-4513-4840-8f41-a077b65a3690" seg="31" />
  7. <entry tu="f78a46e2-3275-49d6-bccc-e34aec848c05" seg="26" />
  8. </rep-def>
  9. <rep-def id="21f5c042-50f4-4f35-a840-d6b6fbe9056b-50">
  10. <entry tu="85f942b8-162e-4c9e-a303-edafca0604ec" seg="52" />
  11. <entry tu="21f5c042-50f4-4f35-a840-d6b6fbe9056b" seg="50" />
  12. </rep-def>
  13. </rep-defs>
  14. </doc-info>
  15. ...
которая уже неправильно интерпретируется родным приложением. Просто линеаризация не помогает, так как не все должно линеаризовываться. Как избавиться от бонуса "красивой разметки"?

Решение задачи: «Разметка XML-документа при использовании класса XmlDocument»

textual
Листинг программы
  1. XmlDocument doc = new XmlDocument();
  2.  
  3. XmlTextWriter wr = new XmlTextWriter(fileName, Encoding.UTF8);
  4. wr.Formatting = Formatting.None; // here's the trick !
  5.  
  6. doc.Save(wr);
  7.  
  8. wr.Close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы