2012-10-02 28 views
5

que estoy tratando de poner <!CDATA> en una etiqueta específica en mi archivo XML, pero el resultado es &lt;![CDATA[mystring]]&gt;que el <!CDATA> en una etiqueta XML

Alguien me puede ayudar?

La codificación

XmlProcessingInstruction pi = doc.CreateProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""); 

¿Cómo lo estoy haciendo

texto.InnerText = "<![CDATA[" + elemento.TextoComplementar.ToString() + "]]>"; 

Respuesta

4
XmlNode xnode = xdoc.SelectSingleNode("entry/entry_status"); 

XmlCDataSection CData; 

InnerText haga que cualquier escape se requiere.

xnode.InnerText = "Hi, How are you..??"; 

Si desea trabajar con CDATA node a continuación:

CData = doc.CreateCDataSection("Hi, How are you..??"); 
4

No ha explicado cómo va a crear el XML - pero parece como si fuera a través de XmlDocument.

Por lo tanto, puede utilizar CreateCDataSection.

Primero crea el nodo CData, proporcionando el texto para ir a él, y luego lo agrega como un elemento secundario a un XmlElement.

Probablemente deberías considerar Linq to XML para trabajar con XML - en mi humilde opinión, tiene una API mucho más natural para crear XML, eliminando el modelo XML DOM a favor de uno que te permite crear documentos completos árboles en línea. Esto, por ejemplo, es cómo crearías un elemento con un atributo y una sección de cdata:

var node = new XElement("root", 
    new XAttribute("attribute", "value"), 
    new XCData("5 is indeed > 4 & 3 < 4")); 
Cuestiones relacionadas