Ich versuche zu analysieren, meine Xml, die CData-Tag als Wert für einen seiner Knoten hat. Meine XML-Struktur ist wie folgt.Parsen CData aus XML in C#
<node1>
<node2>
<![CDATA[ <[email protected]@@BREAK TYPE="TABLE" @@@--> <P><CENTER>... html goes here.. ]]>
</node2>
</node1>
Mein Code ist wie folgt. Wenn ich analysiere, erhalte ich eine Antwort mit dem CData-Tag und nicht den Wert im CData-Tag. Können Sie mir bitte helfen, mein Problem zu beheben?
XDocument xmlDoc = XDocument.Parse(responseString);
XElement node1Element = xmlDoc.Descendants("node1").FirstOrDefault();
string cdataValue = node1Element.Element("node2").Value;
Actual Output: <![CDATA[ <[email protected]@@BREAK TYPE="TABLE" @@@--> <P><CENTER>... html goes here.. ]]>
Expected Output: <[email protected]@@BREAK TYPE="TABLE" @@@--> <P><CENTER>... html goes here..
Ich war mir nicht sicher, ob System.XML.Linq.XDocument das Problem verursachte. Also habe ich die XMLDocument-Version wie folgt ausprobiert.
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(responseString);
XmlNode node = xmlDoc.DocumentElement.SelectSingleNode(@"/node1/node2");
XmlNode childNode = node.ChildNodes[0];
if (childNode is XmlCDataSection)
{}
Und meine if-Schleife gibt false zurück. Sieht so aus, als ob etwas mit meinem XML falsch ist und es ist eigentlich kein gültiges CData? Bitte helfen Sie mir das Problem zu beheben. Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Gibt es einen Grund, warum diese Frage abgelehnt wurde? Ich habe versucht sicherzustellen, dass ich alle notwendigen Informationen zur Verfügung stelle. – csharpnewbie