繁体   English   中英

如何从.NET C#中的XML获取属性值?

[英]How to get attribute value from XML in .NET C#?

我正在开发一个框架,在这里我需要从给定C#中的属性字符串的line(string)中获取属性的值。 示例:这里是XML <av:Button Name="btn_1" Width="80" Height="25" x:Uid="btn_1" av:Canvas.Left="168.1" av:Canvas.Top="95.1" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">My Button Content</av:Button>

当输入为Name时,应返回btn_1。 输入为Width时,应返回80。

PS:我已经使用单词的一些硬编码位置实现了此功能,但有时会失败。 -TIA

我将使用Linq到XML。 很好用

        String MyXml = "<av:Button Name="btn_1" Width="80" Height="25" x:Uid="btn_1" av:Canvas.Left="168.1" av:Canvas.Top="95.1" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">My Button Content</av:Button>";

        XmlNamespaceManager mngr = new XmlNamespaceManager(new NameTable());
        mngr.AddNamespace("av", "http://www.w3.org/2001/XMLSchema-instance");

        XmlParserContext parserContext = new XmlParserContext(null, mngr, null, XmlSpace.None);

        XmlTextReader txtReader = new XmlTextReader(MyXml, XmlNodeType.Element, parserContext);

        var doc = XElement.Load(txtReader);

        var name = doc.Attribute("Name").Value;
        var width = doc.Attribute("Width").Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM