我在一个字符串变量中有以下xml字符串。
string xmlString = "<a:ORegions>
<a:ID>1</a:ID>
<a:regionCode>US</a:regionCode>
</a:ORegions>
<a:ORegions>
<a:ID>2</a:ID>
<a:regionCode>CANADA</a:regionCode>
</a:ORegions>
<a:ORegions>
<a:ID>3</a:ID>
<a:regionCode>ASIA</a:regionCode>
</a:ORegions>
现在我想访问regionCode值,即US,CANADA,ASIA
我如何使用c#做到这一点。我是xml解析的新手。
答案 0 :(得分:1)
您可以通过System.Xml
命名空间类反序列化该字符串(假设您修复了各种语法错误),尤其是XmlDocument
,例如Load
method。要访问名称空间(a
中的a:Oregions
,这是名称空间),您需要XmlNamespaceManager
。然后,您将使用管理器注册命名空间(它们必须在某处定义),并在查询XmlDocument
时使用它。
答案 1 :(得分:1)
使用LinqToXml
var doc = XDocument.Parse(xmlString);
然后,您可以访问以下内容中的元素,值和属性:
XNamespace xmlNamespace = "a";
//e.g. Retrieve's a list of regioncodes...
var ids = doc.Elements(xmlNamespace + "ORegions")
.Select(r => r.Element("regionCode").Value);