如何解析字符串XML和提取int值
本文关键字:提取 int XML 何解析 字符串 | 更新日期: 2023-09-27 18:16:45
解析下面的字符串数据类型的XML并将id作为int数组的简单方法是什么?使用c#。净
<IDs>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
</IDs>
有很多方法可以做到这一点,对于这个简单的例子,大多数方法都很简单。例如,对于XDocument
,我们可以使用LINQ或XPath查询<ID>
:
var xml = @"<IDs>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
</IDs>";
var doc = XDocument.Parse(xml);
var idsFromLinq = doc.Root
.Elements("ID")
.Select(o => (int)o)
.ToList();
var idsFromXPath = doc.XPathSelectElements("/IDs/ID")
.Select(o => (int)o)
.ToList();
可以使用XmlDocument类型:
string _xml = "<IDs><ID>1</ID><ID>2</ID><ID>3</ID><ID>4</ID></IDs>";
XmlTextReader _xtr = new XmlTextReader(new StringReader(_xml));
_xtr.WhitespaceHandling = WhitespaceHandling.Significant;
XmlDocument _xdoc = new XmlDocument();
_xdoc.Load(_xtr);
XmlElement root = _xdoc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/IDs/ID");
int[] _ids = new int[4];
int i = 0;
foreach (XmlNode node in nodes)
{
_ids[i] = Convert.ToInt32(node.InnerText);
i++;
}