Erreur xml: les caractères d'espacement non blancs ne peuvent pas être ajoutés au contenu
Je suis en train d'essayer d'ouvrir un xmldocument comme ceci:
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");
Je renvoie une erreur à la première ligne:
Non whitespace characters cannot be added to content.
La xmlfile ressemble à ceci:
<?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>
source d'informationauteur user603007
Vous devez vous connecter pour publier un commentaire.
On dirait que vous êtes tentez de charger un fichier XML dans un XDocument, mais pour ce faire, vous devez appeler
XDocument.Load("C:\\temp\\contacts.xml");
- vous ne pouvez pas passer d'un fichier XML dans le constructeur.Vous pouvez également charger une chaîne XML avec
XDocument.Parse(stringXml);
.Changer votre première ligne:
Et il va fonctionner.
Pour la référence, il y a 4 surcharges de la
XDocument
constructeur:Vous pourriez avoir pensé à la troisième (
XDocument(XDocument)
), mais pour l'utilisation que l'on vous devriez écrire:Qui serait redondant quand
var doc = XDocument.Load("c:\\temp\\contacts.xml");
suffira.Voir XDocument Constructeur pour les détails insignifiants.
Utilisation XDocument.Parse(stringxml)