Hen*_*y B 16 c# xml xml-serialization
如何将以下XML转换为List<string>或String[]:
<Ids>
<id>1</id>
<id>2</id>
</Ids>
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 46
听起来你只是解析而不是完整的XML序列化/反序列化.如果您可以使用LINQ to XML,这非常简单:
using System;
using System.Linq;
using System.Xml.Linq;
public class Test
{
static void Main()
{
string xml = "<Ids><id>1</id><id>2</id></Ids>";
XDocument doc = XDocument.Parse(xml);
var list = doc.Root.Elements("id")
.Select(element => element.Value)
.ToList();
foreach (string value in list)
{
Console.WriteLine(value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
事实上调用Elements可以省略该参数,因为是唯一的id元素,但我想我会演示如何指定你想要的元素.
同样地,我通常不打扰打电话,ToList除非我真的需要一个List<string>- 没有它,结果是IEnumerable<string>如果你只是迭代一次就没关系.要改为创建数组,请使用ToArray.
Mar*_*lle 18
以下是使用XmlDocument的方法:
// A string containing the XML data
string xml = "<Ids><id>1</id><id>2</id></Ids>";
// The list you want to fill
ArrayList list = new ArrayList();
XmlDocument doc = new XmlDocument();
// Loading from a XML string (use Load() for file)
doc.LoadXml(xml);
// Selecting node using XPath syntax
XmlNodeList idNodes = doc.SelectNodes("Ids/id");
// Filling the list
foreach (XmlNode node in idNodes)
list.Add(node.InnerText);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58085 次 |
| 最近记录: |