使用 LINQ 读取 XML

本文关键字:XML 读取 LINQ 使用 | 更新日期: 2023-09-27 17:55:57

我想从这个xml中读取名称:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://mysite.com/">
   <name>2</name>
   <name>3</name>
   <name>4</name>
</string>

试:

var doc = XElement.Parse(s);
foreach (var v in doc.Descendants("name"))
{
    //do work
}

但它不起作用。为什么?

使用 LINQ 读取 XML

因为您有一个自定义命名空间 - 您需要在选择元素时指定命名空间 - 请尝试以下操作(经过测试和工作):

XNamespace  xmlns = "http://mysite.com/";
var doc = XElement.Parse(s);
foreach (var v in doc.Descendants(xmlns + "name"))
{
    //do work
}