簡體   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