CDataタグをノードの1つの値として持つxmlを解析しようとしています。私のXML構造は以下の通りです。C#のXMLからCDataを解析する
<node1>
<node2>
<![CDATA[ <[email protected]@@BREAK TYPE="TABLE" @@@--> <P><CENTER>... html goes here.. ]]>
</node2>
</node1>
マイコードは次のとおりです。私が解析すると、私はCDataタグの値ではなくCDataタグで応答します。あなたは私の問題を解決するためにpls助けることができますか?
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..
私はSystem.XML.Linq.XDocumentが問題を引き起こしていたかどうかわかりませんでした。だから私は以下のようにXMLDocumentバージョンを試してみた。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(responseString);
XmlNode node = xmlDoc.DocumentElement.SelectSingleNode(@"/node1/node2");
XmlNode childNode = node.ChildNodes[0];
if (childNode is XmlCDataSection)
{}
私のifループはfalseを返します。私のXMLに何か問題があるように見えますが、実際には有効なCDataではありませんか? Plsは私が問題を解決するのを助ける。 詳細が必要な場合は、Plsにお知らせください。
この質問が下落した理由はありますか?私は必要な情報をすべて提供するように努めました。 – csharpnewbie