从XML读取CDATA [英] Read CDATA from XML

查看:436
本文介绍了从XML读取CDATA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨朋友们,



我有CDATA的XML。

当我从Linq获取数据到XML时它会给我错误''''。'',十六进制值0xFFFF,是无效字符''。

我的代码如下:



  string  serializedObject = PhysicalResult.XmlSerialize(); 
XElement xmlData = XElement.Parse(serializedObject);
var result =( from child in xmlData.Elements( SMS
选择孩子).ToList();







所以请帮助我如何使用Linq to XML读取CDATA ..



谢谢,

Viprat

解决方案

 XDocument message =  new  XDocument(XDocument.Parse(xmlString)); 

1 。 XCData cdata = message.DescendantNodes()。OfType< XCData>()。其中​​(m = > m.Parent.Name == iDa)。ToList()[ 0 ];
string cDataContent = cdata.Value;
2 string cDataContent = message.Root.Descendants( iDa )第一()值。;

其中iDa = > 持有CDATA





更多信息博客


 XElement XTemp = XElement.Load(YourXMLfile); 
var queryCDATAXML = 来自元素 XTemp.DescendantNodes()
其中 element.NodeType == System.Xml.XmlNodeType.CDATA
选择 element.Parent.Value.Trim();


您可以创建类似下面的代码片段。



  var  cdataElement = xmlobj.DescendantNodes()。OfType< XCData>()。FirstOrDefault (); 
if (cdataElement!= null
cdataContent = cdataElement.Value;


Hi friends,

I have XML with CDATA.
When i get the data from Linq to XML then it will give me error ''''.'', hexadecimal value 0xFFFF, is an invalid character''.
My code is as below:

string serializedObject = PhysicalResult.XmlSerialize();
                XElement xmlData = XElement.Parse(serializedObject);
                var result = (from child in xmlData.Elements("SMS")
                                         select child).ToList();




So please help me how to read CDATA using Linq to XML..

Thanks,
Viprat

解决方案

XDocument message = new XDocument(XDocument.Parse(xmlString));

1.  XCData cdata = message.DescendantNodes().OfType<XCData>().Where(m => m.Parent.Name == "iDa").ToList()[0];
string cDataContent = cdata.Value;
2.  string cDataContent =message.Root.Descendants("iDa").First().Value;

 Where iDa => Holds the CDATA value



For More Info Blog


 XElement XTemp = XElement.Load(YourXMLfile);  
var queryCDATAXML = from element in XTemp.DescendantNodes()
                         where element.NodeType == System.Xml.XmlNodeType.CDATA
                         select element.Parent.Value.Trim();


You may create code snippet similar to below one.

var cdataElement = xmlobj.DescendantNodes().OfType<XCData>().FirstOrDefault();
if (cdataElement != null)
    cdataContent= cdataElement.Value;


这篇关于从XML读取CDATA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆