我的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行中提取值44
,1
,0
,0
。值是动态的,文档结构不会改变(至少在前15行)。
这样做的最佳方式是什么?
答案 0 :(得分:10)
XDocument
或XDocument.Parse()
方法将XML加载到XDocument.Load()
实例中。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();