从CDATA使用LINQ到XML提取数据
我有以下xml文件,我试图使用linq to xml来获取驻留在CDATA部分内的元素。任何建议请。从CDATA使用LINQ到XML提取数据
<?xml version = "1.0" encoding = "UTF-8"?>
<result final = "true" transaction-id="84WO" xmlns="http://cp.com/rules/client">
<client id = "CustName'>
<quoteback>
</client>
<report format = "CP XML">
<![CDATA[<?xml version="1.0" encoding = "UTF-8" standalone = "yes"?>
<personal_auto xmlns = "http://cp.com/rules/client">
<admin>
</admin>
<report>
</report>
</personal_auto>
]]>
</report> </result>
XElement XTemp = XElement.Load(YourXMLfile);
var queryCDATAXML = from element in XTemp.DescendantNodes()
where element.NodeType == System.Xml.XmlNodeType.CDATA
select element.Parent.Value.Trim();
这是标准的LINQ功能 - 见http://msdn.microsoft.com/en-us/library/system.xml.linq.xcdata.aspx
你能否更详细地解释这个问题,如果这没有解决呢?
我的要求是获取CDATA部分中的所有元素,我怎样才能使用LINQ到XML – BumbleBee 2010-09-15 18:06:39
啊,你想让别人为你做你的工作。实际上不回答一个问题。对。以后一个快速Google:http://www.jarvis.com.au/post/2008/09/I-love-Linq-to-XML.aspx – Rushyo 2010-09-15 18:14:25
Rushyo。抱歉。我的XML文件在CDATA部分有一个XML文件。我试图在这里实现的任务是我需要能够导航CDATA部分内的xml文件并提取必要的元素。有什么建议吗? – BumbleBee 2010-09-15 19:01:17
我一直在寻找做一些稍微不同的 - 我使用CDATA在名为“SQL”
自己专用的元素只是为了澄清CDATA内容将被透明地读取嵌入SQL XML格式。
如果你
var cdataContent = sql.Value;
你得到任何字符串是在
<![CDATA[..]]>
标签,而不必实例化一个不同的节点类型在它的上面或做任何花哨的
所以在上述情况下,cdataContent只是“..”。
Linq to sql真的很不错!我总是期望有更多的关于参与的混乱。对那些制作这个API的人很有帮助。
请编辑您的问题(这次使用预览),因为我没有在您的XML示例中看到任何内容。 – 2010-09-15 17:21:34
您的XML无效。 ' 2010-09-15 17:54:53
约翰,这是一个错字。 – BumbleBee 2010-09-15 17:56:58