2011-04-10 53 views
6

Cómo apilar xml a una línea en código C#?Cómo planchar xml a una línea en código C#?

Antes:

<CATALOG> 
<CD> 
    <TITLE>Empire Burlesque</TITLE> 
    <ARTIST>Bob Dylan</ARTIST> 
    <COUNTRY>USA</COUNTRY> 
    <COMPANY>Columbia</COMPANY> 
    <PRICE>10.90</PRICE> 
    <YEAR>1985</YEAR> 
</CD> 
</CATALOG> 

Después:

<CATALOG><CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST>COUNTRY>USA</COUNTRY>.... 
+0

Necesitamos más detalles: ¿de dónde viene este XML? ¿Desea ese resultado "plano" almacenado en un archivo? ¿Variable? –

+0

Tiene este xml en una cadena C# y quiere cambiar el valor? O bien, ¿ha escrito este xml de líneas múltiples en Visual Studio y desea convertirlo en una sola línea? –

Respuesta

11

Suponiendo que usted es capaz de utilizar LINQ to XML, y el XML se encuentra actualmente en un archivo:

XDocument document = XDocument.Load("test.xml"); 
document.Save("test2.xml", SaveOptions.DisableFormatting); 
5

Si usted tiene el XML en una cadena:

xml.Replace("\n", "").Replace("\r", "") 
+3

Esto no eliminará los espacios de la sangría. – reggaeguitar

3

Si no puede utilizar LINQ para XML, se puede:

XmlDocument xmlDoc = new XmlDocument() 
xmlDoc.LoadXml("Xml as string"); or xmlDoc.Load(filepath) 
xmlDoc.InnerXml -- this should return one liner 
0

que sé, es que esta vieja pregunta, pero me ayudó a encontrar XDocument.ToString()

XDocument doc = XDocument.Load("file.xml"); 
// Flat one line XML 
string s = doc.ToString(SaveOptions.DisableFormatting); 

Check SaveOptions documentaion

Cuestiones relacionadas