未知昵称 2018-05-27 13:46 采纳率: 50%
浏览 2338
已采纳

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);
    
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题