解析 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文档,您需要将其解析为文档片段,或者自己添加根元素。
-
元素中有命名空间,您需要创建命名空间才能访问节点。
我更喜欢使用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);
打印出"实际价值"