读取xml文件并提取一些整数值

本文关键字:整数 提取 xml 文件 读取 | 更新日期: 2023-09-27 18:27:22

我有一个包含类似内容的xml文件

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<REPLY>
  <DATA BYTE='116' />
  <DATA BYTE='88' />
  <DATA BYTE='15' />
  <DATA BYTE='0' />
from this
  <DATA BYTE='44' />  
  <DATA BYTE='1' />
  <DATA BYTE='0' />
  <DATA BYTE='0' />
to this
  <DATA BYTE='0' />
  <DATA BYTE='0' />
.....
  <DATA BYTE='255' />
  <DATA BYTE='255' />
  <DATA BYTE='255' />
  <DATA BYTE='0' />
</REPLY>

我想从这个到这个读4行,实际上我想从这4行中提取值44100。值是动态的,文档的结构不会改变(至少在前15行)。

最好的方法是什么?

读取xml文件并提取一些整数值

  1. 使用XDocument.Parse()XDocument.Load()方法将XML加载到XDocument实例中
  2. 使用LINQ to XML查询XML:
var values = doc.Root.Elements("DATA").Skip(4)
                                      .Take(4)
                                      .Select(x => (int)x.Attribute("BYTE"))
                                      .ToList();

我假设REPLY是XML中的根元素。如果不是,你必须先查询:

var reply = doc.Descendants("REPLY").First();
var values = reply.Elements("DATA").Skip(4)
                                   .Take(4)
                                   .Select(x => (int)x.Attribute("BYTE"))
                                   .ToList();