Estate atento porque en este enunciado hallarás la respuesta que buscas.
Utilizar el
etiqueta.
Lo encontré al crear un documento de Word, guardarlo como XML (a través de Guardar como), agregar un salto de línea forzado con Shift Enter y verificar el cambio. La diferencia esencial parece ser precisamente la w:br
etiqueta, aparentemente reflejando el HTML br
etiqueta.
En caso de que ayude a alguien, el siguiente fragmento de código C# creará la estructura XML de varias líneas
//Sets the text for a Word XML node
//If the text is multi-line, it replaces the single node for multiple nodes
//Resulting in multiple Word XML lines
private static void SetWordXmlNodeText(XmlDocument xmlDocument, XmlNode node, string newText)
//Is the text a single line or multiple lines?>
if (newText.Contains(System.Environment.NewLine))
//The new text is a multi-line string, split it to individual lines
var lines = newText.Split("nr".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
//And add XML nodes for each line so that Word XML will accept the new lines
var xmlBuilder = new StringBuilder();
for (int count = 0; count < lines.Length; count++)
//Ensure the "w" prefix is set correctly, otherwise docFrag.InnerXml will fail with exception
xmlBuilder.Append("");
xmlBuilder.Append(lines[count]);
xmlBuilder.Append(" ");
//Not the last line? add line break
if (count != lines.Length - 1)
xmlBuilder.Append(" ");
//Create the XML fragment with the new multiline structure
var docFrag = xmlDocument.CreateDocumentFragment();
docFrag.InnerXml = xmlBuilder.ToString();
node.ParentNode.AppendChild(docFrag);
//Remove the single line child node that was originally holding the single line text, only required if there was a node there to start with
node.ParentNode.RemoveChild(node);
else
//Text is not multi-line, let the existing node have the text
node.InnerText = newText;
El código anterior creará los nodos secundarios y los retornos de carro necesarios, y se ocupará de la prefix también.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)