解析xml字符串并获取值

时间:2015-01-09 23:26:39

标签: c# xml

我需要用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方式处理字符串并获取所需元素的值。

1 个答案:

答案 0 :(得分:3)

需要考虑以下几点:

  1. 该字符串包含多个元素,这些元素不是有效的XML文档,您需要将其解析为文档片段,或者自己添加根元素。

  2. 元素中包含命名空间,您需要创建命名空间来访问节点。

  3. 我更喜欢在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;