我需要用C#编写代码。
我得到包含xml元素的以下字符串。
**"\n <iqn:CDFID xmlns:iqn=\"ns:iqn:cwm:1.0\">Clearance Type</iqn:CDFID>\n <iqn:CDFName xmlns:iqn=\"ns:iqn:cwm:1.0\">Clearance Type</iqn:CDFName>\n <iqn:CDFValue xmlns:iqn=\"ns:iqn:cwm:1.0\">THE ACTUAL VALUE</iqn:CDFValue>\n "**
元素是 CDFID CDFName CDFValue
以上3个元素可以在字符串内以任何顺序排列。如何识别CDFValue xml元素并提取值&#34;实际值&#34;出。
如何以xml方式处理字符串并获取所需元素的值。
答案 0 :(得分:3)
需要考虑以下几点:
该字符串包含多个元素,这些元素不是有效的XML文档,您需要将其解析为文档片段,或者自己添加根元素。
元素中包含命名空间,您需要创建命名空间来访问节点。
我更喜欢在XmlDocument上使用XDocument。以下是获取实际值的示例代码:
var validXml = "<root>" + value + "</root>";
var doc = XDocument.Parse(validXml);
var ns = XNamespace.Get("ns:iqn:cwm:1.0");
Console.WriteLine(doc.Root.Element(ns.GetName("CDFValue")).Value);
打印出&#34;实际值&#34;