Xelement 配对问题不区分大小写

Aha*_*iPK 1 c# xelement xml-parsing

如何解析XElement为不区分大小写?

这是我的代码:

private void GetMyLayer(XElement myElement)
{
    Layer layer = new Layer();
    foreach (var myItem in myElement.Descendants("layeritem"))
    {
        if (myItem.Element("HyperLinkFields") != null)
           layer.ClickableHyperLinkFields = gisItem.Element("HyperLinkFields").Value.Split(',');
    }
}
Run Code Online (Sandbox Code Playgroud)

myItem包含名为 的字段时,这工作正常HyperLinkFields,但是当字段名称HyperlinkFields不区分大小写时,无法弄清楚如何执行此操作。

Har*_*sad 5

Xml 区分大小写,可以有同名但大小写不同的元素,这是完全有效的。

如果您阅读文档,则Element方法首先返回(按文档顺序)具有指定 的子元素XName,因此您可以使用自定义代码并实现相同的行为。

var element = myItem.Elements()
                    .FirstOrDefault(x=>x.Name.LocalName.Equals(searchstring, StringComparison.OrdinalIgnoreCase)); 

if(element != null)
{
    // Your logic 
    //layer.ClickableHyperLinkFields = element.Value.Split(',');
}
Run Code Online (Sandbox Code Playgroud)