我有类似的字符串
xmlDataEntAddAttr = @"<ADDITIONAL INFO>
<Host> Test Host Name </Host>
<IP Address>Test IP Address</IP Address>
<Domain>Test Domain</Domain>
<Host Method>Test Host Method</Host Method>
<Flag>Test Flag</Flag>
</ADDITIONAL INFO>";
我如何将其读入一个包含标签名称和值的字符串列表或任何集合中。
请不要像<Host></Host>
这样的内部标签可以是任何值,这里只有常量是根的意思 <ADDITIONAL INFO></ADDITIONAL INFO>
.
请建议任何解析方法。
最佳答案
使用 XDocument
(在 System.Xml.Linq
命名空间中)和 Linq to Xml。
XDocument xDocument = XDocument.Parse(xmlDataEntAddAttr);
Dictionary<string, string> result = xDocument.Root.Elements().ToDictionary(element => element.Name.LocalName, element => element.Value);
但是,您的字符串不是有效的 XML。 XML 元素名称中不能有空格。您的字符串的有效版本是:
xmlDataEntAddAttr = @"<ADDITIONAL_INFO>
<Host> Test Host Name </Host>
<IP_Address>Test IP Address</IP_Address>
<Domain>Test Domain</Domain>
<Host_Method>Test Host Method</Host_Method>
<Flag>Test Flag</Flag>
</ADDITIONAL_INFO>";
关于c# - 如何将 XML 字符串读入列表或任何集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647063/