0
J'ai une chaîne sMediaXML
qui ressemble à un fragment XML, sauf qu'elle contient des caractères d'échappement de barre oblique inverse. Je suis incapable de charger cette chaîne dans un XmlDocument
me permettant de vérifier et voir si un élément existe etc ... Je dois garder le format de chaîne exactement comme vous le voyez ci-dessous car d'autres codes en dépendront plus tard.Charger une chaîne XML ayant des caractères d'échappement
// sMediaXML = "<media><cd><burned value=\"true\" /></cd><vinyl><pressed value=\"true\" /></vinyl></media>"
using System;
using System.IO;
using System.Text;
using System.Xml;
namespace xmlWriter_Console
{
class Program
{
static void Main(string[] args)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;
MemoryStream strm = new MemoryStream();
using (XmlWriter writer = XmlWriter.Create(strm, settings))
{
writer.WriteStartElement("media");
writer.WriteStartElement("cd");
writer.WriteStartElement("burned");
writer.WriteAttributeString("value", "true");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("vinyl");
writer.WriteStartElement("pressed");
writer.WriteAttributeString("value", "true");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
}
string sMediaXML = Encoding.UTF8.GetString((strm).ToArray());
Boolean bNodeExists;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(sMediaXML);
if (xmlDoc.SelectSingleNode("/media/digital/@value").Value != null)
{
bNodeExists = true;
}
else
{
bNodeExists = false;
}
}
}
}
"Je ne parviens pas à charger cette chaîne dans un XmlDocument, ce qui me permet de vérifier et de voir si un élément existe etc ..." - pourquoi? ce qui se produit? quel est le problème réel? –