Lean
$LEAN_TAG$
XElementExtensions.cs
1
/*
2
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
16
using
System;
17
using
System.Linq;
18
using
System.Xml.Linq;
19
20
namespace
QuantConnect.Util
21
{
22
/// <summary>
23
/// Provides extension methods for the XML to LINQ types
24
/// </summary>
25
public
static
class
XElementExtensions
26
{
27
/// <summary>
28
/// Gets the value from the element and converts it to the specified type.
29
/// </summary>
30
/// <typeparam name="T">The output type</typeparam>
31
/// <param name="element">The element to access</param>
32
/// <param name="name">The attribute name to access on the element</param>
33
/// <returns>The converted value</returns>
34
public
static
T
Get<T>
(
this
XElement element,
string
name)
35
where T : IConvertible
36
{
37
var xAttribute = element.Descendants(name).Single();
38
string
value = xAttribute.Value;
39
return
value.ConvertTo<T>();
40
}
41
}
42
}
Common
Util
XElementExtensions.cs
Generated by
1.8.17