sintaxis salto necesario lista linea falta etiquetas espacio elementos ejemplos blanco xml c#-4.0 linq-to-xml

necesario - salto de linea en xml



Error XML: no se pueden agregar caracteres de espacio en blanco al contenido (3)

Parece que estás intentando cargar un archivo XML en un XDocument, pero para hacerlo necesitas llamar a XDocument.Load("C://temp//contacts.xml"); - No puedes pasar un archivo XML al constructor.

También puede cargar una cadena de XML con XDocument.Parse(stringXml); .

Cambia tu primera línea a:

var doc = XDocument.Load("c://temp//contacts.xml");

Y funcionará.

Para referencia, hay 4 sobrecargas del constructor XDocument :

XDocument(); XDocument(Object[]); XDocument(XDocument); XDocument(XDeclaration, Object[]);

Es posible que haya estado pensando en el tercero ( XDocument(XDocument) ), pero para usarlo tendría que escribir:

var doc = new XDocument(XDocument.Load("c://temp//contacts.xml"));

Lo que sería redundante cuando var doc = XDocument.Load("c://temp//contacts.xml"); Será suficiente.

Ver XDocument Constructor para los detalles importantes.

Estoy tratando de abrir un xmldocument como este:

var doc = new XDocument("c://temp//contacts.xml"); var reader = doc.CreateReader(); var namespaceManager = new XmlNamespaceManager(reader.NameTable); namespaceManager.AddNamespace("g", g.NamespaceName); var node = doc.XPathSelectElement("/Contacts/Contact/g:Name[text()=''Patrick Hines'']", namespaceManager); node.Value = "new name Richard"; doc.Save("c://temp//newcontacts.xml");

Devuelvo un error en la primera línea:

Non whitespace characters cannot be added to content.

El archivo xml se ve así:

<?xml version="1.0" encoding="utf-8"?> <Contacts xmlns:g="http://something.com"> <Contact> <g:Name>Patrick Hines</g:Name> <Phone>206-555-0144</Phone> <Address> <street>this street</street> </Address> </Contact> </Contacts>


Utilice XDocument.Parse (stringxml)


XDocument xdoc=XDocument.load(path)