所以,我有一個很長的字串
<Type>3</Type>
<X>1018</X>
<Y>800</Y>
<Delay>22</Delay>
</MouseMovementEvent>
<MouseMovementEvent>
<型別>3</型別>
<X>1014</X>
<Y>805</Y>
<Delay>22</Delay>
</MouseMovementEvent>
<MouseMovementEvent>
<型別>3</型別>
<X>1010</X>
<Y>810</Y>
<Delay>62</Delay>
</MouseMovementEvent>
</MouseMovement>
</MacroEvent>
<MacroEvent>
<型別>2</型別>
<MouseEvent>
<MouseButton>1</MouseButton>
<State>1</State>
</MouseEvent>
</MacroEvent>
<MacroEvent>
<型別>2</型別>
<MouseEvent>
等等...
我如何將 "x "和 "y "的值提取到陣列[X, Y]中,并將 "延遲 "提取到一個sepparate陣列?C#
uj5u.com熱心網友回復:
這可以用Linq to XML輕松完成。 我試著修復了給定的xml片段,所以它是一個有效的XML.
。注意:XElement也可以加載xml檔案。
XElement events = XElement.Parse( @"<root>
<MacroEvent>
<MouseMovement>
<MouseMovementEvent>
<型別>3</型別>
<X>1018</X>
<Y>800</Y>
<Delay>22</Delay>
</MouseMovementEvent>
<MouseMovementEvent>
<型別>3</型別>
<X>1014</X>
<Y>805</Y>
<Delay>22</Delay>
</MouseMovementEvent>
<MouseMovementEvent>
<型別>3</型別>
<X>1010</X>
<Y>810</Y>
<Delay>62</Delay>
</MouseMovementEvent>
</MouseMovement>
</MacroEvent>
<MacroEvent>
<型別>2</型別>
<MouseEvent>
<MouseButton>1</MouseButton>
<State>1</State>
</MouseEvent>
</MacroEvent>
</Root>")。)
IEnumerable<((int x, int y) coords, int delay) > movementEvents = from mouseMovementEvent in events. Descendants("MouseMovementEvent")
select ((Int32.Parse(mouseMovementEvent.Element("X").Value), Int32.Parse(mouseMovementEvent. Element("Y").Value), Int32.Parse(mouseMovementEvent.Element("Delay").Value)。
(int x, int y)[] coords = movementEvents.Select(e => e.coords).ToArray();
int[] delay = movementEvents.Select(e => e.delay).ToArray()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/324451.html
標籤:
