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

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 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况
  • ¥15 帮我看看这是个啥题,带解题过程和结果,条件如下FCF = 290471.33 g1 = 15% r = 8% g2 = 4% n = 5
  • ¥15 edem模拟颗粒不显示或者生成失败
  • ¥15 Python代码编写
  • ¥15 php 将rtmp协议转hls协议,无法播放
  • ¥20 python代码编写
  • ¥20 使用MPI广播数据遇到阻塞