解析 XML 字符串并获取值

本文关键字:获取 串并 字符串 XML 字符 解析 | 更新日期: 2023-09-27 18:36:56

我需要用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                     "**

这些元素是中国国际金融情报局CDFNameCDFValue

上述 3 个元素可以在字符串内按任意顺序排列。如何识别 CDFValue xml 元素并提取值"实际值"。

我如何以 xml 方式处理字符串并获取所需元素的值。

解析 XML 字符串并获取值

有几件事需要考虑:

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

  2. 元素中有命名空间,您需要创建命名空间才能访问节点。

我更喜欢使用XDocument而不是XmlDocument。 下面是获取实际值的示例代码:

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);

打印出"实际价值"