未知昵称
2018-05-27 13:46
采纳率: 89.7%
浏览 2.2k

C#读取xml文件指定节点内容的值

 <AR-PACKAGE>
    <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                    <ELEMENTS>
                        <IMPLEMENTATION-DATA-TYPE>
                            <SHORT-NAME>uint8</SHORT-NAME>
                            <CATEGORY>VALUE</CATEGORY>
                            <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                                <SW-DATA-DEF-PROPS-CONDITIONAL>
                                    <BASE-TYPE-REF DEST="SW-BASE-TYPE">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF>
                                </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                            </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
        </ELEMENTS>
</AR-PACKAGE>

xml文件结构如上所示,
要求读这个节点的值“/DataTypes/BaseTypes/uint8”

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2018-05-27 14:48
    已采纳
     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    
    namespace Q690338
    {
        class Program
        {
            static void Main(string[] args)
            {
                string xml = @"<AR-PACKAGE>
        <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                        <ELEMENTS>
                            <IMPLEMENTATION-DATA-TYPE>
                                <SHORT-NAME>uint8</SHORT-NAME>
                                <CATEGORY>VALUE</CATEGORY>
                                <SW-DATA-DEF-PROPS>
                                <SW-DATA-DEF-PROPS-VARIANTS>
                                    <SW-DATA-DEF-PROPS-CONDITIONAL>
                                        <BASE-TYPE-REF DEST=""SW-BASE-TYPE"">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF>
                                    </SW-DATA-DEF-PROPS-CONDITIONAL>
                                </SW-DATA-DEF-PROPS-VARIANTS>
                                </SW-DATA-DEF-PROPS>
                            </IMPLEMENTATION-DATA-TYPE>
            </ELEMENTS>
    </AR-PACKAGE>";
                var doc = XDocument.Parse(xml);
                var query = doc.Element("AR-PACKAGE")
                    .Element("ELEMENTS")
                    .Elements("IMPLEMENTATION-DATA-TYPE").First()
                    .Element("SW-DATA-DEF-PROPS")
                    .Elements("SW-DATA-DEF-PROPS-VARIANTS").First()
                    .Elements("SW-DATA-DEF-PROPS-CONDITIONAL").First()
                    .Element("BASE-TYPE-REF").Value;
                Console.WriteLine(query);
    
            }
        }
    }
    
    
    打赏 评论
  • threenewbee 2018-05-27 14:49

    图片说明

    问题得到解决的话,麻烦在我的回答的右边点个采纳,谢谢。

    打赏 评论

相关推荐 更多相似问题