Что такое правильный способ добавления разрывов строк и отступов при построении XmlDocument сделать свой вывод (названный xmlDocoment-> DocumentElement-> OuterXml) выглядит следующим образом:Добавление разрывы строк и абзацы в XmlDocument
<QualifyingProperties Target="#SignatureElem_0" xmlns="http://uri.etsi.org/01903/v1.3.2#">
<SignedProperties Id="SignedPropertiesElem_0">
Это так, как я строю мой XmlDocument:
XmlDocument^ xmlDoc = gcnew XmlDocument();
xmlDoc->PreserveWhitespace = true;
XmlNode^ nQualifyingProperties = xmlDoc->CreateNode(XmlNodeType::Element, "QualifyingProperties", "http://uri.etsi.org/01903/v1.3.2#");
xmlDoc->AppendChild(nQualifyingProperties);
XmlNode^ nodAttribute = xmlDoc->CreateNode(XmlNodeType::Attribute, "Target", "");
nodAttribute->Value = SignatureId;
nQualifyingProperties->Attributes->SetNamedItem(nodAttribute)
XmlNode^ nSignedProperties = xmlDoc->CreateNode(XmlNodeType::Element, "SignedProperties", "http://uri.etsi.org/01903/v1.3.2#");
nQualifyingProperties->AppendChild(nSignedProperties);
nodAttribute = xmlDoc->CreateNode(XmlNodeType::Attribute, "Id", "");
nodAttribute->Value = SignedPropertiesId;
nSignedProperties->Attributes->SetNamedItem(nodAttribute);
я обнаружил, что это работает для линии изломов:
XmlNode^ linebreak = xmlDoc->CreateTextNode("\n");
nQualifyingProperties->AppendChild(linebreak);
Но я не уверен, что это правильный путь. Это? А как насчет отступов (вкладок)?
EDIT: Я добавляю это XmlDocument в SignedXml в DataObject (где он будет подписан), поэтому я не могу контролировать форматирование этого конкретного элемента, и, хотя это не имеет большого значения, было бы приятно заставить его работать так, как я хочу, чтобы он работал.
Спасибо за предложение. XmlDocument.Save() выполняет задание, но из того, что я помню, он использует пробелы для отступов вместо обычных вкладок. –