从XML读取CDATA [英] Read CDATA from XML
本文介绍了从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屋!
查看全文